本文实例讲述了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++中没有什么比虚拟模板方法更好的了,但似乎它正是我所需要的。有什么办法可以让我使用吗?我很感谢任何建议。 我想通过add方法将实体添加到向量中,这些实体需要是虚拟的,也需要模板,如何避免这种情况?
客户用的香港虚拟主机,短短十几天,服务商送的10G的流量就被用完了,像这种情况有什么好的办法来处理没?现实情况就是用的虚拟主机。
本文向大家介绍C#中DataGridView的样式,包括了C#中DataGridView的样式的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了C#中DataGridView的样式。分享给大家供大家参考。具体如下: 1、设置grid交替行颜色 2、单元格内容有效性检查 3、 单元格的选择模式 4、设置合适的列宽 希望本文所述对大家的C#程序设计有所帮助。
相比之下,Java确实允许虚拟泛型方法。这里也清楚了如何实现:Java泛型在运行时被删除,因此泛型方法是运行时的常用方法,因此不需要修改。 但是现在到了C#。C#确实有具体化的泛型。对于具体化泛型,特别是当使用值类型作为类型参数时,泛型方法必须有不同的版本。但是我们遇到了与C++相同的问题:每当对泛型方法进行新的实例化时,我们都需要修改vtable。 我对C#的内部工作没有太深的了解,所以我的直觉
本文向大家介绍VMware虚拟机使用NAT模式上网的方法,包括了VMware虚拟机使用NAT模式上网的方法的使用技巧和注意事项,需要的朋友参考一下 VMware虚拟机使用NAT模式上网,供大家参考,具体内容如下 1、目的 我在前一篇博客中分享了虚拟机中安装windows7系统的方法,那么在这篇博客中我就分享VMware虚拟机使用NAT模式下接入互联网的操作。 2、具体操作 1)我将物理机接入校园网
我对虚拟函数感到困惑。有人告诉我,父类中的虚拟意味着我可以在子类中覆盖它。但是,如果我省略父类中的虚拟,我仍然可以覆盖它。