如何在JavaScript中访问DetailsView及其中的内容

时间:2018-06-01 04:57:34

标签: javascript asp.net radgrid detailsview

我有一个DetailsView如下

<asp:DetailsView runat="server" ID="NewEmployeeDV" ClientIDMode="Static" DataSourceID="NewEmployeeDS" OnItemUpdating="NewEmployeeDV_OnItemUpdating"  OnDataBound="NewEmployeeDV_OnDataBound" AutoGenerateRows="False">
            <Fields>
                <ItemTemplate>
                    <telerik:RadGrid runat="server" ID="ChildrenRG" DataSourceID="ChildrenDS" ClientIDMode="Static"  AllowAutomaticDeletes="True" AllowAutomaticInserts="True" AllowAutomaticUpdates="True" OnInsertCommand="ChildrenRG_OnInsertCommand"  ShowFooter="True" AutoGenerateColumns="False" AutoGenerateDeleteColumn="True" AutoGenerateEditColumn="True" AutoGenerateHierarchy="True" OnNeedDataSource="ChildrenRG_NeedDataSource">
                        <GroupingSettings CollapseAllTooltip="Collapse all groups"  />
                        <MasterTableView DataSourceID="ChildrenDS" ShowFooter="True" CommandItemDisplay="TopAndBottom" >
                            <Columns>
                                <telerik:GridTemplateColumn DataField="ChildsName"  HeaderText="Childs Name" SortExpression="ChildsName" UniqueName="ChildsNameColumn">
                                    <EditItemTemplate>                           
                                        <asp:TextBox runat="server"  ID="ChildsNameID" Text='<%# Bind("ChildsName") %>'></asp:TextBox>
                                    </EditItemTemplate>
                                    <ItemTemplate>
                                        <asp:Label runat="server" ID="ChildsNameLBL" Text='<%# Bind("ChildsName") %>'></asp:Label>
                                    </ItemTemplate>
                                    <InsertItemTemplate>
                                        <asp:TextBox runat="server" ID="ChildsNameTB" Text='<%# Bind("ChildsName") %>'></asp:TextBox>
                                    </InsertItemTemplate>
                                </telerik:GridTemplateColumn>
                            </Columns>

我有一些JavaScript如下

 function saveAllChanges() {
        var dv = document.getElementById("<%= NewEmployeeDV.ClientID %>");
        alert(dv);
        var rg = dv.getElementsByTagName("ChildrenRG");
        alert(rg);          
        var masterTable = rg.get_masterTableView();
        var batchEditManager = rg.get_batchEditingManager();
        //get the batch edit grids you want to save
        var tables = [];            
        tables.push(masterTable);
        var isDirty = false;
        for (var i = 0; i < tables.length; i++) {
            if (batchEditManager.hasChanges(tables[i])) {
                isDirty = true;
                break;
            }
        }
        if (isDirty) {
            batchEditManager.saveTableChanges(tables);
        }
        return isDirty;

现在我看到很多人都在问这个问题,但我找不到解决办法。

如何访问RadGridDetailsViewJavaScript中的任何其他控件。 我JavaScript中的提醒告诉我,DetailsViewRadGridHTMLCollections,这似乎不正确。

随后对rg.get_batchEditingManager()的调用未定义。 我该如何解决这个问题?它们应该是HTMLCollections吗?

0 个答案:

没有答案