动态获取所有radcombobox客户端ID

时间:2013-01-09 12:11:12

标签: telerik radcombobox

在Telerik Control中,如何获得radcombobox id?

例如,以下代码获取RadCombox1客户端ID的值。如果我的页面中有5个radcomboboxes(sample.aspx),如何获得相应的id DYNAMICALLY .........

    {
    var combo = $find("<%= RadComboBox1.ClientID %>");
    }

先谢谢,
Ganesan A

新增更多:

感谢您的快速回复。我在 c#中使用Telerik Control。

a)我在一页中使用了radcombobox,raddatepicker,radtimepicker和raddatetimpicker,如下所示

    <telerik:RadSplitter ID="RadSplitter1" runat="server" OnClientLoaded="OnClientLoaded">
            <telerik:RadPane ID="RadPane1" runat="server">
                <telerik:RadComboBox ID="RadComboBox1" CssClass="cmb_bx" runat="server">
                    <Items>
                        <telerik:RadComboBoxItem runat="server" Text="RadComboBoxItem1" />
                        <telerik:RadComboBoxItem runat="server" Text="RadComboBoxItem2" />
                        <telerik:RadComboBoxItem runat="server" Text="RadComboBoxItem3" />
                        <telerik:RadComboBoxItem runat="server" Text="RadComboBoxItem4" />
                        <telerik:RadComboBoxItem runat="server" Text="RadComboBoxItem5" />
                    </Items>
                    <CollapseAnimation Duration="200" Type="OutQuint" />
                </telerik:RadComboBox>
                <telerik:RadComboBox ID="ComboBox" CssClass="cmb_bx" runat="server">
                    <Items>
                        <telerik:RadComboBoxItem runat="server" Text="RadComboBoxItem1" />
                        <telerik:RadComboBoxItem runat="server" Text="RadComboBoxItem2" />
                        <telerik:RadComboBoxItem runat="server" Text="RadComboBoxItem3" />
                        <telerik:RadComboBoxItem runat="server" Text="RadComboBoxItem4" />
                        <telerik:RadComboBoxItem runat="server" Text="RadComboBoxItem5" />
                    </Items>
                    <CollapseAnimation Duration="200" Type="OutQuint" />
                </telerik:RadComboBox>
                <telerik:RadDatePicker ID="RadDatePicker1" runat="server">
                </telerik:RadDatePicker>
                <telerik:RadDatePicker ID="SupplierName" runat="server">
                </telerik:RadDatePicker>
                <telerik:RadDatePicker ID="CorporateCode" runat="server">
                </telerik:RadDatePicker>
                <telerik:RadDatePicker ID="PartNo" runat="server">
                </telerik:RadDatePicker>
              <br />
              <br />
              <br />
              <br />
              <br />
              <br />
              <br />
              <br />
              <br />
              <br />
              <br />
              <br />
              <br />
              <br />
              <br />
              <br />
              <br />
              <br />
              <br />
              <br />
              <br />
              <br />
              <br />
              <br />
              <br />
              <br />
              <br />
              <br />
              <br />
              <br />
              <br />
              <br />
              <br />
              <br />
              <br />
              <br />
              <br />
              <br />
              <br />
              <br />
              <br />
              <br />
              <br />
              <br />
              <br />
              <br />
              <br />
              <br />
              <br />    
            </telerik:RadPane>
            <telerik:RadPane ID="RadPane2" runat="server">
            </telerik:RadPane>
        </telerik:RadSplitter>

b)当我滚动页面时,我上面提到的radcombobox或任何其他控件也会滚动页面。它没有隐藏。所以我使用下面的javascript编码

    <telerik:RadCodeBlock ID="RadCodeBlock1" runat="server">
        <script type="text/javascript">
        function OnClientLoaded(sender, eventArgs)
        {
          var pane = sender.getPaneById("<%= RadPane1.ClientID %>");
          var contentElement = pane.getContentElement();
          contentElement.onscroll = function () {
               var combo = $find("<%= RadComboBox1.ClientID %>");
             alert(combo.get_id());
              var dtpkr = $find("<%= RadDatePicker1.ClientID %>");
              var dropDown = combo.get_dropDownVisible();
              var dropDown1 = dtpkr.isPopupVisible();
              if (dropDown) {
                  combo.hideDropDown();
              }
              else if (dropDown1) {
                  dtpkr.togglePopup();
              }
          };
  }
        </script>
    </telerik:RadCodeBlock>

c)这将仅隐藏RadcomboBox1和RadDatePicker1。如何在一个页面中编写多个Radcombobox和Raddatepicker的代码。

由于 Ganesan A

2 个答案:

答案 0 :(得分:0)

您应该指定哪种语言,但这可能有所帮助。这适用于C#。

for (int i = 1; i < 6; i++)
{
    string comboBoxName = "RadComboBox" + i.ToString();
    var comboObject = (this.FindName(comboBoxName) as RadComboBox); //this returns the object if the name is found
    //access the clientID
    if( comboObject != null)
       var clientid = comboObject.ClientID;

}

答案 1 :(得分:0)

由于您已经知道如何处理RadComboBoxes和RadDatePickers,我只需指出how to grab all the RadControls of a particular type并让您扩充代码。