【问题标题】:how to get value of clicked row column of gridview?如何获取gridview的点击行列的值?
【发布时间】:2013-03-06 09:46:36
【问题描述】:

这是.aspx中gridview的代码

<asp:GridView ID="GridDaysPart" runat="server" CellPadding="4" ForeColor="#333333" 
        GridLines="None" Font-Names="Verdana" Font-Size="Smaller" 
        onrowcommand="GridDaysPart_RowCommand">
</asp:GridView>

我正在像这样在 .cs 文件中创建列

DataTable dt = new DataTable();
dt.Columns.Add(new DataColumn("Sun", Type.GetType("System.Int32")));
dt.Columns.Add(new DataColumn("Mon", Type.GetType("System.Int32")));
dt.Columns.Add(new DataColumn("Tue", Type.GetType("System.Int32")));
dt.Columns.Add(new DataColumn("Wed", Type.GetType("System.Int32")));
dt.Columns.Add(new DataColumn("Thu", Type.GetType("System.Int32")));
dt.Columns.Add(new DataColumn("Fri", Type.GetType("System.Int32")));
dt.Columns.Add(new DataColumn("Sat", Type.GetType("System.Int32")));
return dt;

然后绑定gridview。 现在我想获取特定的 [row] [cell] 的值,我在其上单击,我可以使用 rowcommand 事件获取行索引,但是如何知道单击了哪一列? 提前致谢。

【问题讨论】:

  • 你想如何处理点击事件,你提供一个按钮、超链接或其他已经支持点击事件的控件还是你想使用客户端点击事件(例如在桌子上-细胞)?
  • 这是一个简单的gridview,我想获取表格单元格点击的值。
  • @TimSchmelter 等待您的答复。
  • 真的很好的链接,它有我的问题的答案。谢谢蒂姆

标签: c# asp.net gridview


【解决方案1】:

你可以挂在selectedindexchanged上并通过GridView.SelectedRow.Cells[0].Text获得价值

protected void GridView1_SelectedIndexChanged(object sender, EventArgs e)
{
    var value= String.Format("You selected row {0} with {1} {2}",
                                            GridView1.SelectedIndex + 1,
                                            GridView1.SelectedRow.Cells[0].Text,
                                            GridView1.SelectedRow.Cells[1].Text);
}

或使用

var value= CustomersGridView.Rows[e.NewEditIndex].Cells[0].Text;

编辑: 使用this

protected void GridView1_OnRowCommand(object sender, GridViewCommandEventArgs e)
{
    int rownum = Convert.ToInt32(e.CommandArgument.ToString());
    foreach(GridViewRow row in sender.Rows)
    {
        if(row.Cells[0].Text == "a-value-")
        {
             // Do something....
        }
    }
}

【讨论】:

  • 但是为了使用 selectedindexchanged 事件,我需要对 gridview 使用选择按钮,但我不能在其中使用选择按钮。我只想单击 gridview 的内容并获取该值。
  • 如何从我所在行的不同按钮调用它? stackoverflow.com/questions/24453747/…
【解决方案2】:

您可以使用 DataGridView.CurrentCell 属性

int columnIndex = dataGridView.CurrentCell.ColumnIndex;
int rowIndex = dataGridView.CurrentCell.RowIndex;

你可以参考这个link

【讨论】:

    【解决方案3】:
      private void dataGridView1_MouseDoubleClick(object sender, MouseEventArgs e)
        {
            textBox1.Text = dataGridView1.SelectedRows[0].Cells[0].ToString();
        }
    

    我们可以使用它来获取使用 Cell Clicked 事件单击的特定单元格的值。 我在 C# Hope Works For Others 中做到了。

    【讨论】:

      【解决方案4】:

      尝试GridView.RowEditing:

      String xxx = CustomersGridView.Rows[e.NewEditIndex].Cells[0].Text;
      

      查看此link

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2013-03-06
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多