7

SQLデータソースにバインドされているtelerik:RadGridがあります。列の1つは、実際には別のテーブルのルックアップ値である「場所」用です。

<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に保存されます。これは、静的DataTableにバインドされており、すでにアルファベット順に並べ替えられています。私がやりたいのは、このドロップダウンのデフォルトオプションを設定できるようにすることです。

たとえば、次の場所があるとします。

1   Home    
2   Work
3   Parents
4   Car

親をデフォルト値にしたいのですが。

Telerikのこのサンプルは、私がやろうとしていることに似たものを示しています。[新しいレコードを追加]をクリックすると、デフォルトの都市がカークランドであることがわかります。新しいレコードを追加するときに、ロンドンをデフォルトとして使用する方法を理解しようとしています。

4

1 に答える 1

5

それが最善の方法であるか、最も簡単な方法であるかはわかりませんが、機能します。

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");
    }
}
于 2009-12-14T23:54:44.090 に答える