Установите значение по умолчанию для telerik:GridDropDownColumn внутри telerik:RadGrid.
Вопрос
У меня есть 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");
}
}