我有一个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的这样品显示了一些类似我想要做的事。如果单击“添加新记录”,你会发现默认的城市为柯克兰,我试图找出如何添加一个新的记录时使用的伦敦为默认值。

有帮助吗?

解决方案

不知道这是否是最好的或最直接的方式或不是,但它确实工作。

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");
    }
}
许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top