欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

C#處理datagridview虛擬模式的方法

 更新時間:2015年06月24日 09:48:55   作者:zhuzhao  
這篇文章主要介紹了C#處理datagridview虛擬模式的方法,實例分析了C#中datagridview的使用技巧,需要的朋友可以參考下

本文實例講述了C#處理datagridview虛擬模式的方法。分享給大家供大家參考。具體如下:

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
namespace VirtualMode
{
  partial class VirtualModeForm : Form
  {
   private List<DataObject> m_Data = new List<DataObject>();
   private List<bool> m_Visited = new List<bool>();
   public VirtualModeForm()
   {
     InitializeComponent();
     m_Grid.CellValueNeeded += OnCellValueNeeded;
     m_GetVisitedCountButton.Click += OnGetVisitedCount;
     InitData();
     InitGrid();
   }
   private void InitData()
   {
     for (int i = 0; i < 1000001; i++)
     {
      m_Visited.Add(false);
      DataObject obj = new DataObject();
      obj.Id = i;
      obj.Val = 2 * i;
      m_Data.Add(obj);
     }
   }
   private void InitGrid()
   {
     m_Grid.VirtualMode = true;
     m_Grid.ReadOnly = true;
     m_Grid.AllowUserToAddRows = false;
     m_Grid.AllowUserToDeleteRows = false;
     m_Grid.ColumnCount = 3;
     m_Grid.Rows.Add();
     m_Grid.Rows.AddCopies(0, 1000000);
     // Uncomment the next line and comment out the 
     // the rest of the method to switch to data bound mode
     //m_Grid.DataSource = m_Data;
   }
   private void OnCellValueNeeded(object sender,
     DataGridViewCellValueEventArgs e)
   {
     m_Visited[e.RowIndex] = true;
     if (e.ColumnIndex == 0)
     {
      e.Value = m_Data[e.RowIndex].Id;
     }
     else if (e.ColumnIndex == 1)
     {
      e.Value = m_Data[e.RowIndex].Val;
     }
     else if (e.ColumnIndex == 2)
     {
      Random rand = new Random();
      e.Value = rand.Next();
     }
   }
   private void OnGetVisitedCount(object sender, EventArgs e)
   {
     int count = 0;
     foreach (bool b in m_Visited)
     {
      if (b) count++;
     }
     MessageBox.Show(count.ToString());
   }
    private void VirtualModeForm_Load(object sender, EventArgs e)
    {
    }
  }
  public class DataObject
  {
   private int m_Id;
   private int m_Val;
   public int Val
   {
     get { return m_Val; }
     set { m_Val = value; }
   }
   public int Id
   {
     get { return m_Id; }
     set { m_Id = value; }
   }
  }
}

希望本文所述對大家的C#程序設計有所幫助。

相關文章

  • C# Dynamic關鍵字之:解析dynamic就是Object

    C# Dynamic關鍵字之:解析dynamic就是Object

    本篇文章是對C#中dynamic關鍵字就是Object進行了詳細的分析介紹,需要的朋友參考下
    2013-05-05
  • C#常用目錄文件操作類實例

    C#常用目錄文件操作類實例

    這篇文章主要介紹了C#常用目錄文件操作類,實例分析了C#針對目錄的讀取、檢測及查找等相關操作技巧,非常具有實用價值,需要的朋友可以參考下
    2015-03-03
  • c#對xml增刪改查操作示例

    c#對xml增刪改查操作示例

    本文主要介紹c#對xml增刪改查操作的示例,大家參考使用吧
    2014-01-01
  • C#中的事務用法實例分析

    C#中的事務用法實例分析

    這篇文章主要介紹了C#中的事務用法,以一個簡單實例形式分析了C#創(chuàng)建及使用事物的相關技巧,具有一定參考借鑒價值,需要的朋友可以參考下
    2015-09-09
  • C#代碼實現(xiàn)短信驗證碼接口示例

    C#代碼實現(xiàn)短信驗證碼接口示例

    這篇文章主要為大家詳細介紹了C#實現(xiàn)短信驗證碼接口示例代碼,感興趣的小伙伴們可以參考一下
    2016-08-08
  • C#實現(xiàn)將程序運行信息寫入日志的方法

    C#實現(xiàn)將程序運行信息寫入日志的方法

    這篇文章主要介紹了C#實現(xiàn)將程序運行信息寫入日志的方法,可實現(xiàn)將程序運行信息寫入日志并存儲在Debug目錄下的"/Log/PRG"下的功能,涉及C#針對日志的相關寫入技巧,具有一定參考借鑒價值,需要的朋友可以參考下
    2015-08-08
  • Unity實現(xiàn)切割圖集工具

    Unity實現(xiàn)切割圖集工具

    這篇文章主要為大家詳細介紹了Unity實現(xiàn)切割圖集工具,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2021-06-06
  • C#操作SQLite數(shù)據(jù)庫幫助類詳解

    C#操作SQLite數(shù)據(jù)庫幫助類詳解

    這篇文章主要介紹了C#操作SQLite數(shù)據(jù)庫幫助類,詳細分析了C#針對sqlite數(shù)據(jù)庫的連接、查詢、分頁等各種常見操作的實現(xiàn)與封裝技巧,需要的朋友可以參考下
    2017-07-07
  • WCF分布式開發(fā)之MSMQ消息隊列

    WCF分布式開發(fā)之MSMQ消息隊列

    這篇文章介紹了WCF分布式開發(fā)之MSMQ消息隊列,文中通過示例代碼介紹的非常詳細。對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2022-05-05
  • DevExpress TreeList 常見問題解決方法

    DevExpress TreeList 常見問題解決方法

    這篇文章主要介紹了DevExpress TreeList 常見問題解決方法,非常不錯,具有參考借鑒價值,需要的朋友可以參考下
    2016-12-12

最新評論