C# Telerik RadGrid在编辑模式下将BoundColumn设置为只读

C# Telerik RadGrid在编辑模式下将BoundColumn设置为只读,c#,vb.net,telerik,radgrid,C#,Vb.net,Telerik,Radgrid,我有一个Telerik RadGrid,它有三个绑定列和一个按钮列。我想让用户只编辑一个绑定列中的值。用户可以添加新记录,因此我无法将两个绑定列设置为只读。我是否可以在ASPX中这样做,还是必须在代码隐藏中这样做?我有一些代码正在工作,但它不是最好的 这是我的密码: 案例“编辑” Dim aoeAnswerCode As GridBundColumn=CType(e.Item.OwnerTableView.GetColumn(“aoeAnswerCode”),GridBundColumn) ao

我有一个Telerik RadGrid,它有三个绑定列和一个按钮列。我想让用户只编辑一个绑定列中的值。用户可以添加新记录,因此我无法将两个绑定列设置为只读。我是否可以在ASPX中这样做,还是必须在代码隐藏中这样做?我有一些代码正在工作,但它不是最好的

这是我的密码:

案例“编辑”
Dim aoeAnswerCode As GridBundColumn=CType(e.Item.OwnerTableView.GetColumn(“aoeAnswerCode”),GridBundColumn)
aoeAnswerCode.ReadOnly=True
案例“更新”、“性能测试”
对于e.Item.OwnerTableView.RenderColumns中作为GridColumn的每一列
如果列的类型为IGridEditableColumn或column.UniqueName=“aoeAnswerCode”,则
.aspx页面代码

 <telerik:GridBoundColumn DataField="ID" UniqueName="ID" HeaderText="ID">
                </telerik:GridBoundColumn>

只需将
ReadOnly
属性设置为
true
。请参见下面的示例:

<telerik:GridBoundColumn DataField="Datetime" HeaderText="Date" 
 DataFormatString="{0:MM/dd/yyyy}" ReadOnly="True">  
</telerik:GridBoundColumn>


code提示:几乎总是使用
OrElse
而不是
。在我的例子中,这也隐藏了
radgrid
Edit表单中的列
,它不允许我将其用作
SqlDataSource
中的参数。
<telerik:GridBoundColumn DataField="Datetime" HeaderText="Date" 
 DataFormatString="{0:MM/dd/yyyy}" ReadOnly="True">  
</telerik:GridBoundColumn>
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;
    }
}