我有一个带有一些数据的网格视图,并且每一行都可以编辑数据,所以他们看到的是 EditTemplateField 而不是 templateField。现在具有特定职位的用户应该无法编辑列任务名称。
我第一次尝试是这样的:
protected void gvSubtasks_RowEditing(object sender, GridViewEditEventArgs e)
{
GridView gv = sender as GridView;
gvSubtasks.Columns[0].ReadOnly= true;
gv.EditIndex = e.NewEditIndex;
BindGridView();
}
但它没有找到只读属性。
后来我这样尝试:
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;
}
}
}
但它没有找到文本框。
慕盖茨4494581
相关分类