私は ASP.NET Web サイトを開発しており、RowExpander セクションを持つ GridPanel を使用しています。:
<ext:RowExpander ID="RowExpander1" runat="server">
<Loader ID="Loader1" runat="server" DirectMethod="#{DirectMethods}.GetGrid" Mode="Component">
<LoadMask ShowMask="true" />
<Params>
<ext:Parameter Name="id" Value="this.record.getId()" Mode="Raw" />
</Params>
</Loader>
</ext:RowExpander>
コード ビハインドでは、「GetData」と呼ばれる関数が、次のようなネストされた GridPanel を動的に作成する必要があります。
<Ext.Net.DirectMethod()>
Public Function GetGrid(ByVal parameters As Dictionary(Of String, String)) As Object
Dim data As New List(Of Object)
For i = 1 To 10
data.Add(New With {.ID = "P" & i, .Name = "Product " & i})
Next
Dim config As New Ext.Net.GridPanel.Config
config.Height = 50
config.EnableColumnHide = False
config.StoreID = "Store2"
Dim store As New Ext.Net.Store
Dim model As New Ext.Net.Model
store.ID = "Store2"
store.DataSource = data
store.ModelName = "Model2"
model.ID = "Model2"
model.IDProperty = "ID"
model.Fields.Add("ID")
model.Fields.Add("Name")
store.Model.Add(model)
config.Store.Add(store)
config.StoreID = "Store2"
Dim column As New Ext.Net.Column
column.ID = "ColumnModel2"
column.Text = "Products's Name"
column.DataIndex = "Name"
config.ColumnModel.Columns.Add(column)
config.ColumnModel.Add(column)
Dim grid As New Ext.Net.GridPanel(config)
Return Ext.Net.ComponentLoader.ToConfig(grid)
End Function
GridPanel の「+」をクリックすると、列がなくても空のグリッドが表示されます。実際、Ext.Net.ComponentLoader.ToConfig(grid) によって生成されるコードは次のとおりです。
[{"height":50,"xtype":"grid","columns":{},"enableColumnHide":false,"store":"Store2"}]
そのため、GetGrid 関数で間違っていることがあります。私は何が欠けていますか?
私が遭遇するすべての例は C# で書かれています。