【问题标题】:Adding RadComboBox to RadGrid Edit将 RadComboBox 添加到 RadGrid 编辑
【发布时间】:2009-08-13 20:41:36
【问题描述】:

我添加了一个RadControl,RadGrid,我需要在编辑模式下添加一个radComboBox。

当用户点击 radComboBox 时,当用户更新值时,我需要同时获取 radComboBox 的“文本”和“值”以保存到表中。

<telerik:RadComboBox ID="RadComboBox1" Runat="server" 
             DataSourceID="SqlDataSource1" DataTextField="docCategoryName" 
             DataValueField="docCategoryID" Height="200px" Skin="Vista">

当用户从 radComboBox 中进行选择时,我需要将 DataTextField 和 DataValueField 的值放入一个 HiddenField。

【问题讨论】:

    标签: asp.net telerik radgrid rad radcombobox


    【解决方案1】:

    Program.X 描述的方法非常好。当然,如果您在 RadGrid 的 GridTemplateColumn 内使用 RadCombobox,这将有效。

    RadGrid 还提供了一个内置的GridDropDownColumn,它可以在编辑过程中自动渲染一个 RadCombobox。如果选择使用内置列类型,则需要以编程方式为渲染的 RadGrid 设置客户端事件处理程序,如下所示:

    protected void RadGrid1_ItemCreated(object sender, Telerik.Web.UI.GridItemEventArgs e)
    {
        //Find GridEditableItems when in Edit mode
        if (e.Item is GridEditableItem && e.Item.IsInEditMode)
        {
            //Get reference to item (i.e. Row)
            var item = e.Item as GridEditableItem;
    
            //Get reference to auto-generated RadCombobox in
            //specific column (in this case, a column called Title)
            var rcb = item["Title"].Controls[0] as RadComboBox;
            if (rcb == null)
                return;
    
            //Customize the RadCombobox properities
            rcb.OnClientSelectedIndexChanged = "onselectedindexchanged";
        }
    }
    

    其中“onselectedindexchanged”是页面上用于处理 RadCombobox 事件的客户端 JavaScript 函数的名称。

    这些方法中的任何一种都应该能够帮助您实现目标。

    【讨论】:

      【解决方案2】:

      Telerik 是帮助您解决此问题的最佳人选,但来自他们的网站(和记忆):

      http://www.telerik.com/help/aspnet-ajax/combo_clientsideonclientselectedindexchanged.html

      如果你有你的 radCombo:

      <telerik:RadComboBox
       ID="RadComboBox1"
       runat="server"
       OnClientSelectedIndexChanged="OnClientSelectedIndexChanged">
      </telerik:RadComboBox> 
      

      用你的 JS 事件:

      <script language="javascript" type="text/javascript">
      function OnClientSelectedIndexChanged(sender, eventArgs)
      {
       var item = eventArgs.get_item();
      
      // get the text and value elements
      var text=item.get_text();
      var val=item.get_value();
      
      $('#hiddenField').val(val);
      }
      </script>
      

      其中 hiddenField 是隐藏字段的 ID。

      【讨论】:

      • 谢谢你的回复,我去测试一下。
      猜你喜欢
      • 2019-02-26
      • 1970-01-01
      • 1970-01-01
      • 2023-04-03
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2010-11-01
      • 1970-01-01
      相关资源
      最近更新 更多