У меня есть сетка с некоторыми данными, и для каждой строки есть возможность редактировать данные, поэтому они видят EditTemplateField вместо templateField.Теперь пользователи с определенной позицией не должны иметь возможность редактировать столбец TaskName.
Сначала я попробовал это так:
protected void gvSubtasks_RowEditing(object sender, GridViewEditEventArgs e)
{
GridView gv = sender as GridView;
gvSubtasks.Columns[0].ReadOnly= true;
gv.EditIndex = e.NewEditIndex;
BindGridView();
}
Но он не находит свойство ReadOnly.
Впоследствии я попробовал это так:
protected void gvSubtasks_RowEditing(object sender, GridViewEditEventArgs e)
{
GridView gv = sender as GridView;
gv.EditIndex = e.NewEditIndex;
BindGridView();
foreach (GridViewRow row in gvSubtasks.Rows)
{
TextBox txtTaskName = row.Cells[0].FindControl("txtTaskName") as TextBox;
if (IsRightUserPosition()){
txtTaskName.Enabled = true;
}
else
{
txtTaskName.Enabled = false;
}
}
}
Но текстовое поле не находит.