Установите значение по умолчанию для telerik:GridDropDownColumn внутри telerik:RadGrid.

StackOverflow https://stackoverflow.com/questions/1903924

  •  19-09-2019
  •  | 
  •  

Вопрос

У меня есть telerik:RadGrid, привязанный к источнику данных SQL.Один из столбцов предназначен для «Местоположения», которое на самом деле является значением поиска в другой таблице.

<telerik:GridDropDownColumn 
     DataField="d_location_id" 
     DataSourceID="dsLocation" 
     UniqueName="d_location_id" 
     DataType="System.Int32" 
     ListValueField="d_location_id" 
     ListTextField="Abbreviation" 
     HeaderText="Location">
</telerik:GridDropDownColumn>

Мой список местоположений хранится в ObjectDataSource, который привязан к статической таблице данных и уже отсортирован для меня в алфавитном порядке.Я хотел бы иметь возможность установить параметр по умолчанию для этого раскрывающегося списка.

Например, предположим, что у меня есть следующие местоположения:

1   Home    
2   Work
3   Parents
4   Car

Я хотел бы, чтобы родители были моим значением по умолчанию.

Этот образец на Телерик показывает что-то похожее на то, что я пытаюсь сделать.Если вы нажмете «Добавить новую запись», вы заметите, что городом по умолчанию является Киркланд, и я пытаюсь выяснить, как использовать Лондон в качестве города по умолчанию при добавлении новой записи.

Это было полезно?

Решение

Не уверен, что это лучший и самый простой способ или нет, но он работает.

protected void gridMyInfo_ItemDataBound(object sender, Telerik.Web.UI.GridItemEventArgs e)
{
    if (e.Item.IsInEditMode && e.Item.ItemIndex < 0)
    {
        GridEditableItem editedItem = e.Item as GridEditableItem;
        GridEditManager editMan = editedItem.EditManager;

        GridDropDownListColumnEditor editor = editMan.GetColumnEditor("d_location_id") as GridDropDownListColumnEditor;
        editor.ComboBoxControl.SelectedIndex = editor.ComboBoxControl.Items.FindItemIndexByText("Parents");
    }
}
Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top