将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" />
在行视角中。第一列始终是只读的,其他两行是可编辑的。 我不想在第一行显示编辑按钮。我希望第一行完全是只读的。怎么做到这一点?
修改
如果上面的内容难以实现,那么我想知道如何将datatable中的第一行添加到gridview的页脚行中(假设commandField不会向页脚添加编辑按钮...)
答案 0 :(得分:0)
要使第一行不可编辑,您可以使用GridView的RowDataBound
事件并隐藏修改按钮
首先将您的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;
}
}
}