我正在使用绑定到数据库的DataGridView
。我有一个禁用的按钮。选择行时,不是通过单击单元格而是选择行选择窗格,我想响应事件并启用该按钮。
答案 0 :(得分:3)
嗯,有RowHeaderMouseClick event。从那里,您可以获取e.RowIndex以确定点击发生在哪一行。
答案 1 :(得分:2)
protected override void Render(System.Web.UI.HtmlTextWriter writer)
{
AddRowSelectToGridView(gridView);
base.Render(writer);
}
private void AddRowSelectToGridView(GridView gv)
{
try
{
foreach (GridViewRow row in gv.Rows)
{
row.Attributes["onmouseover"] = "this.style.cursor='hand';this.style.textDecoration='underline';";
row.Attributes["onmouseout"] = "this.style.textDecoration='none';";
row.Attributes.Add("onclick", Page.ClientScript.GetPostBackEventReference(gv, "Select$" + row.RowIndex.ToString(), true));
}
}
catch (Exception ex)
{
}
}
试试这段代码,你可以选择行..
答案 2 :(得分:0)
可以说用于检测何时选择DataGridView行的“正确”事件是SelectionChanged
。
dataGridView1.SelectionChanged += new EventHandler(dataGridView1_SelectionChanged);
void dataGridView1_SelectionChanged(object sender, EventArgs e)
{
// code that happens after selection
}
此事件的问题是事件签名只有一个简单的EventArgs,而不是有关DataGridView的特殊信息。此外,这会响应选择更改的任何来源,而不是仅选择行标题。
根据您的确切需求,困惑的RowHeaderMouseClick
答案可能会更好。