繁体   English   中英

网格视图选定的索引

[英]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>

GridViewSelectedIndexChanged事件与RowCommand事件相关联。

获取SelectedIndexChanged事件的简单方法是使用GridViewAutoGenerateSelectButton属性,如下所示:

<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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM