2016-06-24 16 views
0

Я использую два telerik Radcombobox на своей странице с возможностью пакетного редактирования. У меня есть ценность для одного radcombobox. Исходя из значения, выбранного в первом поле со списком, значение во втором radcombobox следует изменить. Пожалуйста, помогите мне с некоторыми клиент sied решенияКак один Radcombobox заполняется на основе значения, выбранного на другом radcombobox на стороне клиента для пакетного редактирования telerik (ASP.NET)?

ответ

0
  1. крюк в OnClientSelectedIndexChanged случае первого комбо: http://docs.telerik.com/devtools/aspnet-ajax/controls/combobox/client-side-programming/events/onclientselectedindexchanged

  2. получить ссылку на второй: http://docs.telerik.com/devtools/aspnet-ajax/general-information/get-client-side-reference

  3. Используйте его set_value() или set_text() или на самом деле все, что вам нравится в API: http://docs.telerik.com/devtools/aspnet-ajax/controls/combobox/client-side-programming/objects/radcombobox-object В качестве альтернативы используйте get_items(), проверьте их свойства и выберите() нужный элемент, если у вас уже есть список элементов.

EDIT: Некоторые дополнительные подробности, основанные на комментарии OP:

Групповое редактирование сетки работает на клиенте, так что вы не можете иметь чистое серверное решение. Вызовите веб-сервис, когда первая комбо изменится и создайте элементы со списком с JS при возврате данных: http://docs.telerik.com/devtools/aspnet-ajax/controls/combobox/client-side-programming/objects/radcombobox-object.

Получив ссылку на второй комбо - добавить CssClass к нему, получить свой объект DOM и использовать свойство .control, как показано во второй статье я связан

<script> 
    function OnClientSelectedIndexChanged(sender, args) { 
     var secondCombo = $telerik.$(".secondCombo").get(0).control;//add some defensive checks here 
     var selectedValue = args.get_item().get_value(); 
     var desiredItem = secondCombo.findItemByValue(selectedValue); 
     if (desiredItem) { 
      desiredItem.select(); 
     } 
    } 
</script> 
<telerik:RadComboBox ID="RadComboBox1" runat="server" OnClientSelectedIndexChanged="OnClientSelectedIndexChanged"> 
    <Items> 
     <telerik:RadComboBoxItem Text="one" Value="1" /> 
     <telerik:RadComboBoxItem Text="two" Value="2" /> 
     <telerik:RadComboBoxItem Text="three" Value="3" /> 
    </Items> 
</telerik:RadComboBox> 
<telerik:RadComboBox ID="RadComboBox2" runat="server" CssClass="secondCombo"> 
    <Items> 
     <telerik:RadComboBoxItem Text="first" Value="1" /> 
     <telerik:RadComboBoxItem Text="second" Value="2" /> 
     <telerik:RadComboBoxItem Text="third" Value="3" /> 
    </Items> 
</telerik:RadComboBox> 
+0

Так как я использую то Radcombobox внутри telerik Radgrid, $ find ("<% = RadComboBox2.ClientID%>"); не будет работать. –

+0

Мне нужно вызвать Хранимые процедуры для получения значений во втором radcombobox, поэтому решение на стороне сервера тоже прекрасно. Пожалуйста, предложите один отредактированный ответ –

+0

с дальнейшим руководством – rdmptn