Imposta il valore di default di Telerik: GridDropDownColumn all'interno di Telerik: RadGrid
Domanda
Ho un Telerik: RadGrid che è destinata a una fonte di dati SQL. Una delle colonne è per "Location", che è in realtà un valore di guardare in alto in un'altra tabella.
<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>
Il mio elenco di posizioni è memorizzato in un ObjectDataSource, che è destinato a un DataTable statica e in ordine alfabetico per me già. Quello che vorrei fare è essere in grado di impostare l'opzione di default per questa discesa.
Per esempio, supponiamo di avere le seguenti posizioni:
1 Home
2 Work
3 Parents
4 Car
Mi piacerebbe avere i genitori siano il mio valore di default.
Questo esempio su Telerik mostra qualcosa simile a quello che sto cercando di fare. Se si fa clic su "aggiungi record", si noterà la città di default è Kirkland e sto cercando di capire come usare Londra come predefinito quando si aggiunge un nuovo record.
Soluzione
Non so se è il modo migliore o più semplice o no, ma funziona.
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");
}
}