Javascript 如何在RadGrid中通过js为列指定一个值

Javascript 如何在RadGrid中通过js为列指定一个值,javascript,asp.net,telerik,Javascript,Asp.net,Telerik,我有Radgrid,所有行始终处于编辑模式。我希望在其中一列中具有以下功能:编辑项后,此列中的所有行都采用此值。下面是我的专栏的样子 <telerik:GridTemplateColumn HeaderText="Opis" HeaderStyle-Width="125px" ItemStyle-Width="120px" UniqueName="poz_nazwa">

我有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";                         
                        }
                    }
                }
            } 
        }
函数OpisBlur(){
如果(event.propertyName=='value'){
变量网格=$find(“”);
var masterTableView=grid.get_masterTableView();
var iloop;
if(masterTableView!=null){
var gridItems=masterTableView.get_dataItems();
var i;
对于(i=0;i0){
var rdo=控制阵列[0];
rdo.value=“valueofchangeditem”;
}
}
}
} 
}
我的方法有两个最明显的问题:

  • 我只更改所选项目,而不是全部。当我尝试使用masterTableView.get_editItems()时,IE说没有这样的方法
  • 这段代码产生堆栈溢出,因为函数发生在propertychange上,而在它内部我更改了property

  • 您能帮我找到实现所需功能的解决方案吗?

    在列的ItemTemplate中,是否可以放置标签或具有类名的内容?那么你就不能用新的值更新页面上所有包含该类的内容了吗

    $('.poz_nazwaClass').val("valueofchangeditem");    
    
    如果不使用jQuery,那么添加一个标记element.getElementsByTagName('poz_-nazwaTag'),然后循环遍历我认为的元素