C#GridView获取选中当前行

一、添加右击菜单

1、打开工具箱,选择ContextMenuStrip如下图

2、可输入右键菜单名称及添加图标,如下图

3、如果想在哪个窗口右击显示就在哪个窗口ALT+ENTER打开属性窗口,将
ContextMenuStrip选项的值设为刚才添加的名字,如下图

4、双击右键添加的菜单即可添加单击事件

二、添加回车Enter事件

1、在要添加回车事件的文本框ALT+ENTER打开属性窗口,如下:

2、将KeyDown选项的值填上触发回车事件的方法名,如下

3、写入触发事件方法,如:

private void txtPwd_KeyDown(object sender, KeyEventArgs e)
  {
      if (e.KeyCode == Keys.Enter)
      {
          this.btnSearch_Click(sender, e);//触发与点击按钮一样的效果
      }
  }

三、获取选中行数据

1、右击AddToBlack后触发点击事件,代码如下

private void addToBlackToolStripMenuItem_Click_1(object sender, EventArgs e)
 {
     int[] rows = gridView1.GetSelectedRows();
     rdms_ueidinfo info = null;
     if (rows.Length > 0)
     {
         if (list != null && list.Count > 0)
         {
             info = list[rows[0]];
         }
         else
         {
             info = xxData.Ueidinfos[rows[0]];
         }
         Contact contact = new Contact();
         contact.IMSI = info.imsi;
         contact.IMEI = info.imei;
         DialogResult ret = DialogResult.Cancel;
         Cursor.Current = Cursors.WaitCursor;
         using (frmEditContact frm = new frmEditContact(contact, OwnerForm.Ribbon))
         {
             ret = frm.ShowDialog(OwnerForm);
         }
         Cursor.Current = Cursors.Default;
     }
 }

2、双击行获取选中行数据,代码如下

    private void addToBlackListByDouble(object sender, EventArgs e)
{
    int[] rows = gridView1.GetSelectedRows();
    rdms_ueidinfo info = null;
    if (rows.Length > 0)
    {
        if (list != null && list.Count > 0)
        {
             info = list[rows[0]];
        }
        else {
             info = xxData.Ueidinfos[rows[0]];
        }
        Contact contact = new Contact();
        contact.IMSI = info.imsi;
        contact.IMEI = info.imei;
        DialogResult ret = DialogResult.Cancel;
        Cursor.Current = Cursors.WaitCursor;
        using (frmEditContact frm = new frmEditContact(contact, OwnerForm.Ribbon))
        {
            ret = frm.ShowDialog(OwnerForm);
        }
        Cursor.Current = Cursors.Default;
    }

}

3、代码解释:

rdms_ueidinfo info = null;
if (list != null && list.Count > 0)
           {
                info = list[rows[0]];
           }
           else {
                info = xxData.Ueidinfos[rows[0]];
           }

点击查询后,将根据查询条件查询的结果list再次显示到该列表,此时要获取选中行,就需要判断,如果list不为null表示当前列表是根据查询后显示的结果,否则就是初始列表,要做不同的判断才能选中想要的结果,之前一直选不中,甚是烦恼,真的是难者不会,会者不难,经过多次摸索才明白。

更多博客内容详见我的博客 Wang's Blog

已标记关键词 清除标记
©️2020 CSDN 皮肤主题: 大白 设计师:CSDN官方博客 返回首页