有沒有一種方法可以將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