WinForm之DataGridView用法

简介: WinForm之DataGridView用法

向dataGridView添加n行。

for(int i=0;i<n;i++)
{
  i = dataGridView_detail.Rows.Add();
  dataGridView_detail.Rows[i].Cells[0].Value = i+1;
  dataGridView_detail.Rows[i].Cells[1].Value = value[i];
}

设置选中dataGridView的第i行并滚动到该行。

dataGridView_detail.Rows[i].Selected=true;
dataGridView_detail.FirstDisplayedScrollingRowIndex = i;

初始的dataGridView最下边一行没有横线,强迫症看着难受。修改其ColumnHeadersBorderStyle属性为Raised。(PS:找了好久)

dataGridView常用事件:

     (1)使用其CellMouseClick实现鼠标右键选中dataGridView某项,弹出右键菜单

(contextMenuStrip_items)。
private void dataGridView_detail_CellMouseClick(object sender, DataGridViewCellMouseEventArgs e)
{
    try
    {
        if (dataGridView_detail.Rows.Count == 0)
            return;
        if (dataGridView_detail.SelectedRows.Count == 0)//无选中信息  
            return;
        if (e.Button == MouseButtons.Right)
        {
            Rectangle R = dataGridView_detail.GetRowDisplayRectangle(dataGridView_detail.CurrentCell.RowIndex,false);
            System.Drawing.Point pos = new System.Drawing.Point(e.X, e.Y);
            this.ToolStripMenuItem_delete.Visible = true;
            this.contextMenuStrip_items.Show(MousePosition.X,MousePosition.Y);
        }
    }
    catch(Exception ex)
    {
        ErrorLog.Error(ex.Message);
    }
}

  5. 在dataGridView数据较多时,拉动右边滚动条数据显示会很卡,可加速刷新速度。


public static class ExtensionMethods
{
    public static void DoubleBuffered(this DataGridView dgv, bool setting)
    {
        Type dgvType = dgv.GetType();
        PropertyInfo pi = dgvType.GetProperty("DoubleBuffered",
            BindingFlags.Instance | BindingFlags.NonPublic);
        pi.SetValue(dgv, setting, null);
    }
}
//使用时引用命名控件
//dataGridView1.DoubleBuffered(true);

 


相关文章
|
SQL 存储 Go
WinForm DataGridView分页功能
WinForm 里面的DataGridView不像WebForm里面的GridView那样有自带的分页功能,需要自己写代码来实现分页,效果如下图: 分页控件   .CS: 1 using System; 2 using System.
1429 0
|
C# Windows
WPF DataGrid分页功能实现代码
在Silverlight中DataGrid分页可以结合DataPager控件很容易实现,但是在WPF中没有类似的,需要手动实现这样一个控件: 1、创建一个UserControl,DP.
1163 0
|
缓存 算法 索引
WinForm——DataGridView总结
WinForm——DataGridView总结
530 0
WinForm——DataGridView总结
|
Web App开发
艾伟:WinForm控件开发总结(三)------认识WinForm控件常用的Attribute
在前面的文章里我们制作了一个非常简单的控件。现在我们回过头来看看这些代码透露出什么信息。   这个类是直接从Control类派生出来的,自定义控件都是直接从Control类派生出来的。这个类定义了一个属性TextAlignment,用来控制文本在控件中显示的位置:           ...
1020 0