Я использую два telerik Radcombobox на своей странице с возможностью пакетного редактирования. У меня есть ценность для одного radcombobox. Исходя из значения, выбранного в первом поле со списком, значение во втором radcombobox следует изменить. Пожалуйста, помогите мне с некоторыми клиент sied решенияКак один Radcombobox заполняется на основе значения, выбранного на другом radcombobox на стороне клиента для пакетного редактирования telerik (ASP.NET)?
ответ
крюк в OnClientSelectedIndexChanged случае первого комбо: http://docs.telerik.com/devtools/aspnet-ajax/controls/combobox/client-side-programming/events/onclientselectedindexchanged
получить ссылку на второй: http://docs.telerik.com/devtools/aspnet-ajax/general-information/get-client-side-reference
Используйте его 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>
Так как я использую то Radcombobox внутри telerik Radgrid, $ find ("<% = RadComboBox2.ClientID%>"); не будет работать. –
Мне нужно вызвать Хранимые процедуры для получения значений во втором radcombobox, поэтому решение на стороне сервера тоже прекрасно. Пожалуйста, предложите один отредактированный ответ –
с дальнейшим руководством – rdmptn