[英]Telerik RadGrid set BoundColumn to ReadOnly in Edit Mode
我有一個Telerik RadGrid有三個綁定列和一個按鈕列。 我想讓用戶只在一個綁定列中編輯值。 用戶可以添加新記錄,因此我無法將兩個綁定列設置為只讀。 無論如何,我可以在ASPX中執行此操作,還是必須在后面的代碼中執行此操作? 我有一些代碼正在運行,但它不是最好的。
這是我的代碼:
Case "Edit"
Dim aoeAnswerCode As GridBoundColumn = CType(e.Item.OwnerTableView.GetColumn("aoeAnswerCode"), GridBoundColumn)
aoeAnswerCode.ReadOnly = True
Case "Update", "PerformInsert"
For Each column As GridColumn In e.Item.OwnerTableView.RenderColumns
If TypeOf column Is IGridEditableColumn Or column.UniqueName = "aoeAnswerCode" Then
只需將ReadOnly
屬性設置為true
。 請參閱以下示例:
<telerik:GridBoundColumn DataField="Datetime" HeaderText="Date"
DataFormatString="{0:MM/dd/yyyy}" ReadOnly="True">
</telerik:GridBoundColumn>
.aspx頁面代碼
<telerik:GridBoundColumn DataField="ID" UniqueName="ID" HeaderText="ID">
</telerik:GridBoundColumn>
aspx.cs頁面代碼
protected void RadGrid1_ItemDataBound(object sender, GridItemEventArgs e)
{
if (e.Item.IsInEditMode && e.Item is GridEditableItem)
{
if (e.Item.ItemIndex == -1)
{
// insert
GridEditableItem item = e.Item as GridEditableItem;
}
else
{
// edit
GridEditableItem item = e.Item as GridEditableItem;
(item["ID"].Controls[0] as TextBox).ReadOnly = true;
}
}
}
protected void RadGrid1_ItemDataBound(object sender, GridItemEventArgs e)
{
if (e.Item.IsInEditMode && e.Item is GridEditFormItem)
{
// edit
GridEditFormItem item = e.Item as GridEditFormItem;
(item["column"].Controls[0] as TextBox).Enabled = false;
}
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.