[英]Grid View selected index
我有一個包含編輯按鈕的網格。 當我單擊編輯按鈕並進行調試時,它沒有點擊選定的索引更改事件。 沒有構建錯誤
網格背后的代碼
public void btnModemDetailsEdit_Click(object sender, EventArgs e)
{
isEdit = true;
}
protected void gridModemDetails_SelectedIndexChanged(object sender, EventArgs e)
{
int id = Convert.ToInt32(GridModemDetails.DataKeys[GridModemDetails.SelectedIndex].Values["gridModemDetails_SelectedIndexChanged"].ToString());
}
<asp:GridView ID="GridModemDetails" runat="server" Width="435px"
DataKeyNames="ModemId" AllowPaging="True"
OnSelectedIndexChanged="gridModemDetails_SelectedIndexChanged"
AutoGenerateColumns="False">
<Columns>
<asp:TemplateField HeaderText="Edit" Visible="True" >
<ItemTemplate>
<asp:LinkButton ID="btnModemDetailsEdit"
AccessibleHeaderText="Edit"
ButtonType="Button"
Text="Edit"
HeaderText="Edit"
runat="server"
OnClick="btnModemDetailsEdit_Click"/>
</ItemTemplate>
</asp:TemplateField>
GridView
的SelectedIndexChanged
事件與RowCommand
事件相關聯。
獲取SelectedIndexChanged
事件的簡單方法是使用GridView
的AutoGenerateSelectButton
屬性,如下所示:
<asp:GridView AutoGenerateSelectButton="true"
這將為每行添加一個按鈕,文本為Select
,單擊時,將觸發SelectedIndexChange
事件。
對於編輯按鈕,可以在網格視圖標記中使用CommandField
,如下所示:
<asp:GridView ...>
<Columns>
<asp:CommandField ShowEditButton="True" />
</Columns>
</asp:GridView>
現在在您的代碼隱藏中,您可以處理RowCommand
事件,如下所示:
protected void GridView1_RowCommand(object sender, GridViewCommandEventArgs e)
{
if (e.CommandName == "Edit")
{
// Get the actual row
GridViewRow theGridViewRow = GridView1.Rows(e.RowIndex);
// Do something with grid view row here
}
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.