Установить значение по умолчанию для telerik: GridDropDownColumn внутри telerik: RadGrid - PullRequest
7 голосов
/ 15 декабря 2009

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

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

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

1 Ответ

5 голосов
/ 15 декабря 2009

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

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