有没有一种方法可以将GridView上的模板列设置为只从后面的代码中读取。 如果测试Admin=true make readonly= false else readonly = true
?GridView模板列有条件地设置为只读
2
A
回答
4
没有直接的方法将GridView
列设置为只读。但是,您可以将控件设置为GridView
的RowDataBound
事件中该列的只读。例如
protected void GridView1_RowDataBound(object sender, GridViewRowEventArgs e)
{
if (e.Row.RowState == DataControlRowState.Edit || e.Row.RowState == DataControlRowState.Alternate)
{
TextBox txt = (TextBox)e.Row.FindControl("ControlID");
txt.ReadOnly = true;
}
}
0
是的,点击ItemDataBound事件,并为每一行使用只读控件和编辑控件,并显示/隐藏作业的右侧控件,或者禁用编辑控件。模板没有全局只读设置。
HTH。
5
我发现穆罕默德·阿赫塔尔的答案几乎是当场就除了我需要稍微修改条款,如果在我的情况下,以覆盖所有的条件。我的if条款如下。
if ((e.Row.RowState & DataControlRowState.Edit) == DataControlRowState.Edit ||
(e.Row.RowState & DataControlRowState.Alternate) == DataControlRowState.Alternate)
,直到我有e.Row.RowState
特殊值我没有找到与原来的任何问题“备用|编辑”,这使得
(e.Row.RowState == DataControlRowState.Edit ||
e.Row.RowState == DataControlRowState.Alternate) == false
不过,我要感谢穆罕默德·阿赫塔尔为指着我走向正确的方向。
这里是我的完整代码:
protected void GridView1_RowDataBound(object sender, GridViewRowEventArgs e)
{
if ((e.Row.RowState & DataControlRowState.Edit) == DataControlRowState.Edit || (e.Row.RowState & DataControlRowState.Alternate) == DataControlRowState.Alternate)
{
TextBox txt = (TextBox)e.Row.FindControl("ControlID");
txt.ReadOnly = true;
}
}
PS:为了让DropDownList的只读,你需要在它的OnDataBound事件来禁用它:
protected void DropDownList1_DataBound(object sender, EventArgs e)
{
((DropDownList)sender).Enabled = false;
}
相关问题
- 1. 有条件地设置可编辑或只读文本字段
- 2. 在ARM模板中有条件地设置appsetting值
- 3. 有条件地设置Magento中的模板
- 4. 如何在gridview中将列设置为只读
- 5. 如何有条件地为模板标头设置编译器优化
- 6. 有条件地只读WPF DataGridCell
- 7. 有条件地填充GridView
- 8. QTableView - 将第一列设置为“只读”
- 9. 有条件地设置线条颜色
- 10. 有条件地设置和有条件地使用变量python
- 11. 设置文件夹只读为false
- 12. 将asptextbox设置为只读
- 13. 只读的GridView中的列
- 14. 如何有条件地使DetailsView字段为只读?
- 15. 有条件图像模板列
- 16. GridView控件模板
- 17. 有条件设置一个GridViewColumn细胞模板
- 18. 如何有条件地禁用GridView中的项目模板字段?
- 19. 在closedxml列中设置只读列
- 20. MediaWiki模板表条件列
- 21. 问题编程设置列为只读对Telerik的radgrid控件
- 22. React-native - 有条件地设置高度
- 23. JSF有条件地设置ID
- 24. 有条件地设置MessageBox类型
- 25. 如何有条件地设置tabbarcontroller viewControllers?
- 26. XSLT有条件地设置属性值
- 27. Angularjs - 有条件地设置属性
- 28. 我如何有条件地在iOS中为故事板设置动画效果?
- 29. Gridview和列设置
- 30. 将GroupBox中的所有控件设置为只读?
当我尝试这个,我得到编译器错误消息:CS0123:没有重载'grdProducts_RowDataBound'匹配委托'System.EventHandler' – BillTetrault 2011-05-05 13:09:56
替换此行----保护无效grdProducts_RowDataBound(对象发件人,GridViewRowEventArgs e) – 2011-05-05 13:13:13
我认为问题时,您定义事件句柄,只需从我的答wer – 2011-05-05 13:14:18