如何获取网格视图中点击行列的值

本文关键字:视图 何获取 获取 网格 | 更新日期: 2023-09-27 18:02:25

这是.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;

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

如何获取网格视图中点击行列的值

您可以勾选已更改的索引并通过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;

编辑:使用这个

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....
        }
    }
}

您可以使用DataGridView。CurrentCell属性

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

您可以参考此链接

  private void dataGridView1_MouseDoubleClick(object sender, MouseEventArgs e)
    {
        textBox1.Text = dataGridView1.SelectedRows[0].Cells[0].ToString();
    }

我们可以使用此获取使用单元格单击事件单击的特定单元格的值。我在C#中也这样做了。

尝试GridView.RowEditing:

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

查看此链接