【发布时间】:2011-12-23 14:33:58
【问题描述】:
我有所有行始终处于编辑模式的 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 说没有这种方法。
- 此代码产生堆栈溢出,因为函数发生在属性更改上,并且在其中我更改了属性。
您能帮我找到实现所需功能的解决方案吗?
【问题讨论】:
标签: javascript asp.net telerik