DataGridView清除显示的数据、设定右键菜单

 更新时间:2022年02月28日 10:22:28   作者:.NET开发菜鸟  
这篇文章介绍了DataGridView清除显示的数据、设定右键菜单的方法,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧

一、清空数据

1、DataGridView未绑定数据时清空数据

this.dgv_PropDemo.DataSource = null

2、DataGridView绑定数据时清空数据

DataGridView绑定了数据就不能使用this.dgv_PropDemo.DataSource = null清空数据了,使用this.dgv_PropDemo.DataSource = null不仅会清空数据,而且也会把DataGridView的列清空掉,这时就要使用如下的代码清空显示的数据:

DataTable dt = this.dgv_PropDemo.DataSource as DataTable;
dt.Rows.Clear();
this.dgv_PropDemo.DataSource = dt;

二、设定右键菜单 

DataGridView,DataGridViewColumn,DataGridViewRow,DataGridViewCell有ContextMenuStrip属性。可以通过设置ContextMenuStrip对象来控制DataGridView的右键菜单的显示。

  • DataGridViewColumn的ContextMenuStrip属性设定除了列头以外的单元格的右键菜单。
  • DataGridViewRow的ContextMenuStrip属性设定除了行头以外的单元格的右键菜单。
  • DataGridViewCell的ContextMenuStrip属性设定指定单元格的右键菜单。

对于单元格上的右键菜单的设定,优先顺序是:Cell>Row>Column>DataGridView

利用CellContextMenuStripNeeded、RowContextMenuStripNeeded事件可以设定单元格的右键菜单,尤其是需要右键菜单根据单元格值的变化而变化的时候。比起使用循环遍历,使用该事件来设定右键菜单的效率更高。

说明:CellContextMenuStripNeeded事件处理方法的参数中,e.RowIndex=-1表示列头,e.ColumnIndex=-1表示行头。RowContextMenuStripNeeded则不存在e.ColumnIndex=-1的情况。

示例一:

//设置DataGridView的右键菜单
this.dgv_Users.ContextMenuStrip = cmsDgv;
//设置列的右键菜单
this.dgv_Users.Columns[1].ContextMenuStrip = cmsColumn;
//设置列头的右键菜单
this.dgv_Users.Columns[1].HeaderCell.ContextMenuStrip = cmsHeaderCell;
//设置行的右键菜单
this.dgv_Users.Rows[2].ContextMenuStrip = cmsRow;
//设置单元格的右键菜单
this.dgv_Users[1, 2].ContextMenuStrip = cmsCell;

示例二:

private void dgv_Users_CellContextMenuStripNeeded(object sender, DataGridViewCellContextMenuStripNeededEventArgs e)
{
    DataGridView dgv = sender as DataGridView;
    if (e.RowIndex < 0)
    {
         //设置列头右键
         e.ContextMenuStrip = cmsHeaderCell;
    }
    else if (e.ColumnIndex < 0)
    { 
          //设置行头右键菜单
          e.ContextMenuStrip = cmsRow;
     }
     else if (dgv[e.ColumnIndex, e.RowIndex].Value.ToString().Equals("男"))
     {
           e.ContextMenuStrip = cmsCell;
     }
     else
     {
           e.ContextMenuStrip = cmsDgv;
     }
}

到此这篇关于DataGridView清除显示的数据、设定右键菜单的文章就介绍到这了。希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

相关文章

  • C#封装的常用文件操作类实例

    C#封装的常用文件操作类实例

    这篇文章主要介绍了C#封装的常用文件操作类,实例分析了C#文件操作的技巧,涉及C#的读写、复制、删除等常用操作,非常具有实用价值,需要的朋友可以参考下
    2015-03-03
  • C#中DataTable 转换为 Json的方法汇总(三种方法)

    C#中DataTable 转换为 Json的方法汇总(三种方法)

    JavaScript Object Notation (Json)是一种轻量级的数据交换格式,下面小编给大家介绍三种方法实现DataTable转换成 Json 对象,感兴趣的朋友一起看看吧
    2016-11-11
  • C# javascript 读写Cookie的方法

    C# javascript 读写Cookie的方法

    这篇文章介绍了C# javascript 读写Cookie的方法,有需要的朋友可以参考一下
    2013-10-10
  • 谈C# using的用法与好处

    谈C# using的用法与好处

    这篇文章主要为大家详细介绍了C# using的用法与好处,具体分析了using指令调用的Dispose()方法,感兴趣的朋友可以参考一下
    2016-05-05
  • c#实现输出的字符靠右对齐的示例

    c#实现输出的字符靠右对齐的示例

    下面小编就为大家分享一篇c#实现输出的字符靠右对齐的示例,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2017-12-12
  • C#实现无限级联下拉列表框

    C#实现无限级联下拉列表框

    这篇文章主要为大家详细介绍了C#实现无限级联下拉列表框的相关资料,感兴趣的小伙伴们可以参考一下
    2016-03-03
  • C#中接口(Interface)的深入详解

    C#中接口(Interface)的深入详解

    这篇文章主要给大家介绍了关于C#中接口(Interface)的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-08-08
  • C# WinForm遍历窗体控件的3种方法

    C# WinForm遍历窗体控件的3种方法

    这篇文章主要介绍了C# WinForm遍历窗体控件的3种方法,帮助大家更好的理解和使用c#,感兴趣的朋友可以了解下
    2021-04-04
  • 基于C#制作一个休息提醒闹钟的详细步骤

    基于C#制作一个休息提醒闹钟的详细步骤

    小闹钟大家都应该很熟悉,它包括时间、事件,当达到某某时间时,事件发生了,并且还有一个提示信息,下面这篇文章主要给大家介绍了关于如何基于C#制作一个休息提醒闹钟的详细步骤,需要的朋友可以参考下
    2023-02-02
  • C#有效防止同一账号多次登录(附三种方法)

    C#有效防止同一账号多次登录(附三种方法)

    这篇文章主要介绍了C#有效防止同一账号多次登录的方法,有效防止同一账号多次登录的方法很多,比如用数据库来记录用户登录情况、用Application来保存用户登录信息、用Cache来保存信息等,感兴趣的小伙伴们可以参考一下
    2015-11-11

最新评论