代码之家  ›  专栏  ›  技术社区  ›  AhammadaliPK

外景.netdynamic GridPanel未加载数据

  •  0
  • AhammadaliPK  · 技术社区  · 6 年前

    我在创造一个Ext.net.GridPanel格式动态地从数据表中添加头数据,但得到一个错误

    未捕获的引用错误:tbl2006121743494c8j\u ClientInit不是 定义。

    这是我的密码,

    页面内容.aspx

    <body>
    <form id="form1" runat="server">
        <div>
     <ext:ResourceManager ID="ResourceManager1" runat="server" />
     <ext:Store ID="tableStore" runat="server" OnSubmitData="Store_Submit">
                <Reader>
                    <ext:JsonReader />
                </Reader>
                <DirectEventConfig IsUpload="true" />
            </ext:Store>
     <ext:Viewport runat="server" Layout="border">
                <Items>
                    <ext:Hidden ID="selectedPageId" runat="server" />
                    <ext:Hidden ID="currentPageId" runat="server" />
                    <ext:Panel ID="pnlContent" runat="server" Title="" Cls="PanelTitle" Layout="AbsoluteLayout"
                        AutoScroll="true" Region="Center">
                        <TopBar>
                            <ext:Toolbar ID="contBar" runat="server" Layout="MenuLayout" AutoScroll="true" AutoHeight="true"
                                CtCls="tbr" />
                        </TopBar>
                        <LoadMask Msg="Loading" ShowMask="true" />
                    </ext:Panel>
                </Items>
            </ext:Viewport>
        </div>
    </body>
    

                        If (table.IsGridView) Then
                            Dim gridPanel As Ext.Net.GridPanel = WidgetDisplay.CreateTableGrid(widget, 
                               tableStore)
    
                            If Not (Util.isNullOrEmpty(table.DataTable)) Then
                                tableStore.RemoveAll()
                                tableStore.DataSource = table.DataTable
                                tableStore.DataBind()
                                gridPanel.Render(pnlContent)
                            End If
    
                            pnlContent.Items.Add(gridPanel)
    
                        Else
                            pnlContent.Items.Add(WidgetDisplay.CreateTableItem(widget))
                        End If
    

    创建表格网格 方法如下,问题是我可以看到列标题显示,但网格数据没有填充和获取错误

    Public Shared Function CreateTableGrid(ByRef widget As Widget, ByRef tableStore As Ext.Net.Store) As Ext.Net.GridPanel
    
            Dim gridPanel As New Ext.Net.GridPanel
            Dim table As EMB.BLL.Table = widget.Properties
            Dim toolBar As New Ext.Net.Toolbar
            Dim toExcelButton As New Ext.Net.Button
            Dim searchButton As New Ext.Net.Button
            Dim textField As New Ext.Net.TextField
            Dim comboBox As New Ext.Net.ComboBox
            comboBox.ID = widget.WidgetId + "CBB"
            gridPanel.StoreID = tableStore.ID
            gridPanel.Width = widget.Width
            gridPanel.MinWidth = 600
            gridPanel.Height = widget.Height
            gridPanel.X = widget.PosX
            gridPanel.Y = widget.PosY
            gridPanel.ID = widget.WidgetId
            gridPanel.StripeRows = True
            gridPanel.ButtonAlign = Ext.Net.Alignment.Left
            gridPanel.AutoWidth = True
            tableStore.RemoveFields()
    
            If Not (IsNothing(table.DataTable)) Then
    
                Try
                    For j As Integer = 0 To table.DataTable.Columns.Count - 1
                        Dim item As DataColumn = table.DataTable.Columns(j)
                        Dim colContent As EMB.BLL.Table.Column.Content = New EMB.BLL.Table.Column.Content
                        If (j > table.ColumnList.Count - 1) Then
                            Exit For
                        End If
                        If (table.ColumnList.Count > 0) Then
                            colContent = table.ColumnList.Item(j).ContentList.Item(0)
                        End If
    
                        Dim columnwidth As Integer = Convert.ToInt32(colContent.CColumnWidth)
                        columnwidth = IIf(columnwidth = 0, 100, columnwidth)
                        gridPanel.LabelStyle = String.Format("background: {0} !important;", table.ColumnList.Item(j).HBackColor)
                        tableStore.AddField(New Ext.Net.RecordField(item.ColumnName))
                        Dim backColor As String = colContent.CBackColor
    
                        gridPanel.ColumnModel.Columns.Add(New Ext.Net.Column With {.DataIndex = item.ColumnName, .Css = String.Format("background: {0} !important;", backColor), .Header = item.ColumnName, .Width = columnwidth, .Align = Ext.Net.Alignment.Left})
                        comboBox.Items.Add(New Ext.Net.ListItem With {.Text = item.ColumnName})
    
                    Next
    
                    comboBox.SelectedIndex = 0
                    comboBox.FireEvent("change", comboBox.SelectedItem.Text)
                    comboBox.GetStore.DataBind()
    
                Catch ex As Exception
                    Dim exp As Exception = ex
                End Try
    
    
            End If
    
            searchButton.Icon = Ext.Net.Icon.Magnifier
            searchButton.Text = "Search"
            searchButton.ID = widget.WidgetId + "search_btn"
            searchButton.Listeners.Click.Handler = "Ext.net.DirectMethods.FilterTable('" + gridPanel.ClientID + "')"
            textField.Listeners.Change.Handler = "Ext.net.DirectMethods.TextTable(this.getValue())"
            'comboBox.Listeners.Select.Handler = "Ext.net.DirectMethods.ComboTable(this.getValue())"
            comboBox.Listeners.Change.Handler = "Ext.net.DirectMethods.ComboTable(this.getValue())"
            toExcelButton.Icon = Ext.Net.Icon.PageExcel
            toExcelButton.Text = "To Csv"
            toExcelButton.Listeners.Click.Handler = "#{" + gridPanel.ID + "}.submitData(false);"
    
            toolBar.Items.Add(New Ext.Net.Label With {.Text = "Choose Column:"})
            toolBar.Items.Add(comboBox)
            toolBar.Items.Add(New Ext.Net.ToolbarSeparator)
            toolBar.Items.Add(textField)
            toolBar.Items.Add(searchButton)
            toolBar.Items.Add(New Ext.Net.ToolbarFill)
            toolBar.Items.Add(toExcelButton)
            gridPanel.Listeners.CellClick.Fn = "cellClick"
            gridPanel.TopBar.Add(toolBar)
            gridPanel.BottomBar.Add(New Ext.Net.PagingToolbar With {.PageSize = 150})
            'gridPanel.DataBind()
            'gridPanel.doLayout
            'gridPanel.Reconfigure()
            Return gridPanel
        End Function
    

    当我调试生成的源代码时,我得到了这个,

    new Ext.net.Viewport({
                        id: "ctl05",
                        renderTo: "form1",
                        items: [{
                            id: "selectedPageId",
                            xtype: "hidden"
                        }, {
                            id: "currentPageId",
                            xtype: "hidden"
                        }, {
                            id: "pnlContent",
                            cls: "PanelTitle",
                            autoScroll: true,
                            region: "center",
                            items: [{
                                TBL20061217433494C8J_ClientInit
                            }, {
                                TBL20061217433494C8J_ClientInit
                            }],
                            layout: "absolute",
                            tbar: {
                                id: "contBar",
                                xtype: "toolbar",
                                ctCls: "tbr",
                                autoScroll: true,
                                autoHeight: true,
                                layout: "menu"
                            },
                            title: "Page Name : tsttest-Copy"
                        }],
                        layout: "border"
                    }); 
    
    0 回复  |  直到 6 年前