Telerik RadGrid установил для BoundColumn значение ReadOnly в режиме редактирования. - PullRequest
3 голосов
/ 08 января 2012

У меня есть 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

Ответы [ 3 ]

7 голосов
/ 08 мая 2012

Просто установите для свойства ReadOnly значение true. Смотрите пример ниже:

<telerik:GridBoundColumn DataField="Datetime" HeaderText="Date" 
 DataFormatString="{0:MM/dd/yyyy}" ReadOnly="True">  
</telerik:GridBoundColumn>
6 голосов
/ 09 января 2012

.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;
        }

    }
}
0 голосов
/ 10 апреля 2015
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;
    }
}
...