Jef*_*son 3 c# vb.net telerik radgrid
我有一个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
Run Code Online (Sandbox Code Playgroud)
小智 7
只需将ReadOnly
属性设置为true
.请参阅以下示例:
<telerik:GridBoundColumn DataField="Datetime" HeaderText="Date"
DataFormatString="{0:MM/dd/yyyy}" ReadOnly="True">
</telerik:GridBoundColumn>
Run Code Online (Sandbox Code Playgroud)
.aspx页面代码
<telerik:GridBoundColumn DataField="ID" UniqueName="ID" HeaderText="ID">
</telerik:GridBoundColumn>
Run Code Online (Sandbox Code Playgroud)
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;
}
}
}
Run Code Online (Sandbox Code Playgroud)