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.

Foi útil?

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");
    }
}
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top