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);

 


相关文章
|
C# 数据库
C# DataGridView用法(—)代码绑定数据源
C# DataGridView用法(—)代码绑定数据源
741 1
|
5月前
|
监控 供应链 数据可视化
一文读懂看板管理法:生产看板到底看什么、怎么管、怎么用
看板管理是制造业精益生产中的核心工具,助力实现生产可视化与高效协同。本文系统解析看板管理法,涵盖其基于拉动式与准时化生产的核心逻辑、六类常见看板的应用场景,以及车间搭建看板的具体方法,助力企业推动精益生产落地。
|
8月前
|
安全 搜索推荐 iOS开发
WPS Office for Mac 7.3.1 - 写作、表格处理、PPT 制作和 PDF 编辑
WPS Office for Mac 7.3.1 - 写作、表格处理、PPT 制作和 PDF 编辑
410 8
WPS Office for Mac 7.3.1 - 写作、表格处理、PPT 制作和 PDF 编辑
|
6月前
|
机器学习/深度学习 存储 NoSQL
基于 Flink + Redis 的实时特征工程实战:电商场景动态分桶计数实现
本文介绍了基于 Flink 与 Redis 构建的电商场景下实时特征工程解决方案,重点实现动态分桶计数等复杂特征计算。通过流处理引擎 Flink 实时加工用户行为数据,结合 Redis 高性能存储,满足推荐系统毫秒级特征更新需求。技术架构涵盖状态管理、窗口计算、Redis 数据模型设计及特征服务集成,有效提升模型预测效果与系统吞吐能力。
572 2
|
NoSQL 关系型数据库 MySQL
Docker-compose封装mysql和redis并初始化数据
Docker-compose封装mysql和redis并初始化数据
725 0
|
数据采集 存储 索引
转录组分析丨一套完整的操作流程简单案例(上)
转录组分析丨一套完整的操作流程简单案例
|
域名解析 监控 网络协议
Ping命令的替代工具有哪些?
【8月更文挑战第14天】Ping命令的替代工具有哪些?
1005 2
|
JSON 前端开发 Java
优化用户体验:SpringBoot统一异常处理最佳实践
优化用户体验:SpringBoot统一异常处理最佳实践
301 0
|
前端开发 微服务
Gateway处理全局异常
satoken 提供的示例,适用于单体项目的全局异常捕获。我选择了微服务架构,则就要变为通过网关来进行全局异常的处理,当权限发生异常的时候,可以统一做 401 的返回,前端进行跳转登录。