如何获取gridview的点击行列的值?

时间:2013-03-06 09:46:36

标签: c# asp.net gridview

这是.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事件获取行索引,但是如何知道单击哪个列? 提前谢谢。

4 个答案:

答案 0 :(得分:3)

您可以挂钩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....
        }
    }
}

答案 1 :(得分:0)

您可以使用DataGridView.CurrentCell属性

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

您可以参考此link

答案 2 :(得分:0)

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

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

答案 3 :(得分:-2)

尝试GridView.RowEditing

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

查看此link