2011-05-22 131 views
2

我有一個radgrid控件具有到位插入和編輯功能。radgrid控件填充下拉在插入/編輯模式

其中一個字段是一個下拉。

我的要求是

  • 當用戶點擊「新增」我希望能夠改變一些屬性上的下拉和填充它,當數據
  • 當用戶編輯一行我需要更改下拉列表的選定索引以顯示正在編輯的數據並將其禁用。 我以某種方式需要處理網格事件之一,確定它是否在插入/編輯模式,然後使用FindControl來訪問我的下拉菜單。

我看了一些事件,如ItemCommand,DataBound,ItemCreated等,我只是不知道如何獲得我的下拉菜單?我需要知道什麼對象我需要調用查找控制來達到我的下拉菜單。

謝謝。

回答

1

this doc開始,請記住,要確定插入/更新操作,可以分別檢查GridTableView.IsItemInserted屬性和EditItems集合。 ItemDataBound和ItemCreated用於更改項目值或禁用下拉菜單。

1

您可以嘗試使用GridDropDownColumn建立內部網的下拉列其中自動填充下拉在編輯或插入模式。示例:

<telerik:GridDropDownColumn UniqueName="ParamType" DataField="ParamType" HeaderText="Parameter type" HeaderStyle-HorizontalAlign="Center" DropDownControlType="RadComboBox" ListDataMember="ParamType" ListTextField="ParamType" ListValueField="ParamType"> 
</telerik:GridDropDownColumn> 

而且您可以填充數據或訪問下拉框中的ItemDataBound事件。例如:

protected void GvParametersItemDataBound(object sender, GridItemEventArgs e) 
    { 
       if (e.Item is GridEditableItem && e.Item.IsInEditMode) 
       { 
        //bind data to ddl in edit mode 
        GridEditableItem editedItem = e.Item as GridEditableItem; 
        GridEditManager editMan = editedItem.EditManager; 
        GridDropDownListColumnEditor editor = (GridDropDownListColumnEditor)(editMan.GetColumnEditor("DropDownColumnUniqueName")); 
        RadComboBox ddList = editor.ComboBoxControl; 
        ddList.RenderMode = Telerik.Web.UI.RenderMode.Auto; 

        ddList.OnClientSelectedIndexChanged = "OnClientSelectedParamerterIndexChanged"; 
        ddList.DataTextField = Constants.DataTextField; 
        ddList.DataValueField = Constants.DataValueField; 
        ddList.DataSource = GetParameterTypes(); 
        ddList.DataBind(); 
       } 
    } 
相關問題