在GridView的选定行中显示按钮并将其隐藏在未选择的行中

时间:2012-07-11 07:42:12

标签: c# asp.net button gridview

我在GridView中有一个按钮,我想只在所选行上启用它,当我选择一个新行按钮时,前一行应该是不可见的吗?

2 个答案:

答案 0 :(得分:2)

您可以使用GridView's SelectedIndexChanged事件循环所有行并找到您的按钮。如果它是SelectedRow中的按钮显示它,否则隐藏它们:

protected void GridView1_SelectedIndexChanged(Object sender, EventArgs e)
{
    var grid = (GridView)sender;
    foreach (GridViewRow row in grid.Rows)
    {
        var btn = (Button)row.FindControl("Button1");
        // Compare this row with the currently selected row using the SelectedRow property
        // SelectedRow might be null, the logic would work anyway
        btn.Visible = row == grid.SelectedRow;
    }
}

答案 1 :(得分:1)

您可以通过启用GridView.SelectedIndexChanged事件

中的按钮来实现此目的

但要禁用前一行按钮,如果按钮不在选定的行中,则必须迭代并禁用它们