如何在asp.net中选择行而不使用OnSelectedIndexchanged
在ASP.NET GridView控件中 是否可以在不使用OnSelectedIndexChanged事件的情况下选择行 e、 g.假设我想在GridView上为网格中的每一行设置一个名为ProcessThis的自定义按钮,然后使用OnClick方法访问选定的行值 如果无法更改,是否可以更改OnSelectedIndexChanged生成的选择按钮的文本和位置 您可以将gridview上的事件用于此目的。每次在gridview中单击按钮时,都会触发该选项如何在asp.net中选择行而不使用OnSelectedIndexchanged,asp.net,gridview,Asp.net,Gridview,在ASP.NET GridView控件中 是否可以在不使用OnSelectedIndexChanged事件的情况下选择行 e、 g.假设我想在GridView上为网格中的每一行设置一个名为ProcessThis的自定义按钮,然后使用OnClick方法访问选定的行值 如果无法更改,是否可以更改OnSelectedIndexChanged生成的选择按钮的文本和位置 您可以将gridview上的事件用于此目的。每次在gridview中单击按钮时,都会触发该选项 如果在标记中使用该属性,则可以从按钮的行
如果在标记中使用该属性,则可以从按钮的行获取特定ID,以便处理特定行。文档中提供了示例。您可以简单地将一个自定义按钮添加到CommandName属性为Select的GridView中。然后像往常一样使用SelectedIndexChanged事件 为什么您不想触发SelectedIndexChanged事件?请注意,即使通过调用GridView.SelectRow方法更改代码中的选定索引,也会触发此事件 是,可以选择一行而不使用 OnSelectedIndexChanged事件 您必须使用GridView事件,如 C .aspx 您必须在GridView中使用的按钮中指定CommandName
希望您能理解并为您工作。thanx patrick。但这并没有获得selectedrow,因为当我尝试获取行的索引时,如..if e.CommandName.ToLower==select{GridViewRow=Mygrid.selectedrow;int index=row.RowIndex;}中所示,我会得到一个异常,因为所选行为null…但您希望处理与该行相关的数据。如果您查看文档中的示例,您将看到如何获取与该行相关的数据,然后可以对其进行处理。如果要在选中数据后对其执行操作,请使用SelectedIndexChanged event.thanx joe。但这不起作用,因为selectedrow仍然为null,因此会出现异常。它起作用了。在测试之前,我忘记删除onrow命令。谢谢你的帮助,你只是重复我说的?
protected void Gridview1_RowCommand(object sender, GridViewCommandEventArgs e)
{
if (e.CommandName == "ProcessThis")
{
int index = Convert.ToInt32(e.CommandArgument);
GridViewRow row = Gridview1.Rows[index];
// Do what ever you want....
}
}
<asp:GridView ID="Gridview1" runat="server" AutoGenerateColumns="False"
onrowcommand="Gridview1_RowCommand">
<Columns>
<asp:ButtonField Text="Process This" CommandName="ProcessThis" />
</Columns>
</asp:GridView>