Defina o valor padrão de Telerik: GridDropDownColumn dentro de Telerik: RadGrid
Pergunta
Eu tenho um Telerik: RadGrid que está vinculado a uma fonte de dados SQL. Uma das colunas é para "Localização", que é realmente um valor de pesquisa em outra tabela.
<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>
Minha lista de locais é armazenada em um objectDataSource, que já está vinculado a um datatatable estático e classificado em ordem alfabética para mim. O que eu gostaria de fazer é definir a opção padrão para este suspenso.
Por exemplo, suponha que eu tenha os seguintes locais:
1 Home
2 Work
3 Parents
4 Car
Eu gostaria de que os pais sejam meu valor padrão.
Esta amostra em Telerik mostra algo semelhante ao que estou tentando fazer. Se você clicar em "Adicionar novo registro", notará que a cidade padrão é Kirkland e estou tentando descobrir como usar Londres como padrão ao adicionar um novo registro.
Solução
Não tenho certeza se é a melhor ou mais direta maneira ou não, mas funciona.
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");
}
}