У меня есть Radgrid со всеми строками всегда в режиме редактирования. Мне нужна следующая функциональность в одном из столбцов: после редактирования элемента все строки в этом столбце принимают это значение. Вот как выглядит моя колонка.
<telerik:GridTemplateColumn HeaderText="Opis" HeaderStyle-Width="125px" ItemStyle-Width="120px"
UniqueName="poz_nazwa">
<ItemTemplate>
<%#DataBinder.Eval(Container.DataItem, "poz_nazwa")%>
</ItemTemplate>
<EditItemTemplate>
<telerik:RadTextBox runat="server" ID="Rtopis" DataTextField="poz_nazwa" DataValueField="poz_nazwa"
Width="120px" Text='<%#Bind("poz_nazwa") %>' onfocus="javascript:podp(this.id);"
AutoCompleteType="Disabled" onpropertychange="Opisblur()">
</telerik:RadTextBox>
</EditItemTemplate>
</telerik:GridTemplateColumn>
А вот что я пробовал и не работает:
function OpisBlur() {
if (event.propertyName == 'value') {
var grid = $find("<%=RadGPozycje.ClientID %>");
var masterTableView = grid.get_masterTableView();
var iloop;
if (masterTableView != null) {
var gridItems = masterTableView.get_dataItems();
var i;
for (i = 0; i < gridItems.length; ++i) {
var gridItem = gridItems[1];
var cell = gridItem.get_cell("poz_nazwa");
var controlsArray = cell.getElementsByTagName('input');
if (controlsArray.length > 0) {
var rdo = controlsArray[0];
rdo.value = "valueofchangeditem";
}
}
}
}
}
Есть две наиболее очевидные проблемы с моим подходом:
- Я изменяю только выбранный элемент, а не все. Когда я пытаюсь использовать masterTableView.get_editItems () IE говорит, что такого метода не существует.
- Этот код вызывает переполнение стека, так как функция происходит при изменении свойства, и внутри него я меняю свойство.
Можете ли вы помочь мне найти решение для реализации желаемой функциональности?