【问题标题】:C# DataGridView HeaderC# DataGridView 标题
【发布时间】:2013-12-10 18:26:29
【问题描述】:

首先,我对编程很陌生(第一周)。我有一个 datagridviewer 和 CellClick 事件。我的功能是获取行中选定(鼠标左键单击)单元格的第一列值。 喜欢;

ID名称地址(这个是gridview的Headers)

1 个用户 1 地址 1

2 用户 2 地址 2

..6,7..

9 用户 9 地址 9

当您单击任何单元格时-除了标题-它会给出第一列的值。当您单击时,Address9 您的值将返回为 9 等。

单击标题单元格时出现异常错误。它返回 -1 值并崩溃。所以,我需要一个 if 语句来忽略标题点击。我在网站上搜索并自己尝试了很多东西,但没有成功。

private void dgwCust_CellClick(object sender, DataGridViewCellEventArgs e)       
{            

if ( cellclick == isn't a header click?.. ) 

            string search;
            search = dgwCust.Rows[e.RowIndex].Cells[0].Value.ToString();//this is where error comes in
            SqlCommand cmdsearch = new SqlCommand("Select * from Customers where CustomerID = '" + search + "'", dbConnection);
            try
            { 

等等。

【问题讨论】:

  • 地铁?赢表格? WPF?银光?视窗电话? ASP.NET?单触?
  • WinForms,但问题已经解决。谢谢。

标签: c# datagridview


【解决方案1】:

使用以下方法之一检查 e.RowIndex 是否不等于 -1

if (!e.RowIndex.Equals(-1))

if (e.RowIndex != -1)

-

private void dgwCust_CellClick(object sender, DataGridViewCellEventArgs e)       
{            

    if (!e.RowIndex.Equals(-1)) 

        string search;
        search = dgwCust.Rows[e.RowIndex].Cells[0].Value.ToString();//this is where error comes in
        SqlCommand cmdsearch = new SqlCommand("Select * from Customers where CustomerID = '" + search + "'", dbConnection);
        try
        { 

【讨论】:

    【解决方案2】:
    if (e.RowIndex >= 0)
    {
      string search;
      search = dgwCust.Rows[e.RowIndex].Cells[0].Value.ToString();//this is where error comes in
      SqlCommand cmdsearch = new SqlCommand("Select * from Customers where CustomerID = '" + search + "'", dbConnection);
      //...
    }
    

    【讨论】:

      猜你喜欢
      • 2012-02-14
      • 1970-01-01
      • 1970-01-01
      • 2017-10-27
      • 2016-05-19
      • 2015-12-17
      • 2022-11-01
      • 1970-01-01
      • 2023-03-21
      相关资源
      最近更新 更多