Установите GridView первой или конкретной строки, чтобы быть только для чтения
Сделать определенные столбцы в 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" />
В перспективе ряда. Первый столбец всегда доступен только для чтения, а остальные две строки доступны для редактирования. Я не хочу, чтобы кнопка редактирования появлялась в первом ряду. Я хочу, чтобы первая строка была полностью доступна только для чтения. Как этого добиться?
РЕДАКТИРОВАТЬ:
Если вышеприведенного трудно достичь, то make, тогда я хочу знать, как можно добавить первую строку в datatable в строку нижнего колонтитула gridview (при условии, что commandField не добавит кнопку редактирования в нижний колонтитул...)
1 ответ
Чтобы сделать первый ряд недоступным для редактирования, вы можете использовать RowDataBound
событие GridView и скрыть кнопку Изменить
Сначала конвертируй свой 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;
}
}
}