【问题标题】:RadGrid populate drop down in insert/edit modeRadGrid 在插入/编辑模式下填充下拉列表
【发布时间】:2011-05-22 13:02:04
【问题描述】:

我有一个具有插入和编辑功能的 RadGrid。

其中一个字段是下拉列表。

我的要求是

  • 当用户单击“添加新”时,我希望能够更改下拉列表中的一些属性并在数据时填充它
  • 当用户编辑一行时,我需要更改下拉列表的选定索引以显示正在编辑的数据并禁用它。 我需要以某种方式处理其中一个网格事件,确定它是否处于插入/编辑模式,然后使用 FindControl 访问我的下拉菜单。

我查看了许多事件,例如 ItemCommand、DataBound、ItemCreated 等,但我只是不知道如何访问我的下拉菜单?我需要知道我需要调用哪个对象来找到我的下拉菜单。

谢谢。

【问题讨论】:

    标签: asp.net telerik radgrid telerik-grid


    【解决方案1】:

    this doc 开始,记住要确定插入/更新操作,可以分别检查网格的GridTableView.IsItemInserted 属性和EditItems 集合。更改项目值或禁用下拉列表的适当事件是 ItemDataBound 和 ItemCreated。

    【讨论】:

      【解决方案2】:

      您可以尝试使用 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();
                      }
          }
      

      【讨论】:

        猜你喜欢
        • 2017-11-26
        • 1970-01-01
        • 2013-01-30
        • 2014-01-21
        • 2011-08-31
        • 2011-11-21
        • 2023-03-03
        • 1970-01-01
        • 2015-09-13
        相关资源
        最近更新 更多