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