【问题标题】:How can I assign one value to column by js in RadGrid如何在 RadGrid 中按 js 为列分配一个值
【发布时间】: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";                         
                        }
                    }
                }
            } 
        }

我的方法有两个最明显的问题:

  1. 我只更改选定的项目,而不是全部。当我尝试使用 masterTableView.get_editItems() 时,IE 说没有这种方法。
  2. 此代码产生堆栈溢出,因为函数发生在属性更改上,并且在其中我更改了属性。

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

【问题讨论】:

    标签: javascript asp.net telerik


    【解决方案1】:

    在列的 ItemTemplate 中,您可以放置​​一个标签或具有类名的东西吗?那么你不能用新值更新页面上具有该类的所有内容吗?

    $('.poz_nazwaClass').val("valueofchangeditem");    
    

    如果你不使用jQuery,那么添加一个标签,element.getElementsByTagName('poz_nazwaTag') 然后循环遍历我认为的元素。

    【讨论】:

      猜你喜欢
      • 2013-03-02
      • 1970-01-01
      • 2019-12-26
      • 1970-01-01
      • 2012-12-18
      • 1970-01-01
      • 2010-12-27
      • 1970-01-01
      • 2023-01-07
      相关资源
      最近更新 更多