将GridView的第一行或特定行设置为只读

本文关键字:设置 只读 一行 GridView | 更新日期: 2023-09-27 18:12:10

将gridview中的特定列设置为只读非常简单。我只需要将第一行设为只读。是否有可能在不影响其他可编辑行的情况下实现这一点?

这是我当前的代码。(样本)

   <Columns>                
        <asp:CommandField ShowEditButton="True" HeaderText="Edit" />
        <asp:BoundField DataField="Col1" ReadOnly="true" />
        <asp:BoundField DataField="Col2" ReadOnly="false" />
        <asp:BoundField DataField="Col3" ReadOnly="false" />

在行透视图中。第一列始终是只读的,其他两行是可编辑的。我不希望编辑按钮出现在第一行。我希望第一行完全是只读的。如何做到这一点?

编辑:

如果上面很难实现,那么我很想知道如何将数据表中的第一行添加到gridview的页脚行(假设commandField不会将编辑按钮添加到页脚…)

将GridView的第一行或特定行设置为只读

要使第一行不可编辑,您可以使用GridView的RowDataBound事件并隐藏Edit按钮

首先将您的CommandField转换为TemplateField并隐藏编辑按钮在RowDataBound事件,

试试

protected void GridView1_RowDataBound(object sender, GridViewRowEventArgs e)
{
    if (e.Row.RowType == DataControlRowType.DataRow)
    {
        if (e.Row.RowIndex == 0)
        {
            e.Row.FindControl("EditLinkButtonName").Visible = false;
        }
    }
}