1 动态创建module
Dim objMod As Ext.Net.DesktopModule
Dim objModShortcut As Ext.Net.DesktopShortcut
'Desktop1.DesktopConfig.Wallpaper = "Styles/window72.jpg"
objMod = New DesktopModule
objMod.ModuleID = "myModule"
objModShortcut = New DesktopShortcut
objModShortcut.Name = "我的桌面"
'objModShortcut.Handler =function() {#{DirectMethods}.ecItemOnHand2();}
objModShortcut.IconCls = "x-stockonhand2-shortcut"
objModShortcut.Handler = "function(){#{DirectMethods}.shorcutHander();}"
objMod.Shortcut = objModShortcut
objMod.Launcher = New Ext.Net.MenuItem
objMod.Launcher.Text = "我的程序"
'objMod.Launcher.IconCls = "x-stockonhand2-shortcut"
objMod.Launcher.Icon = Icon.Application
Desktop1.Modules.Add(objMod)
2 利用Module 的触发事件,结合桌面实例,动态创建window,GridPanel,store,model,column
Public Sub shorcutHander()
Dim objWin As New Window
objWin.ID = "window1"
objWin.Title = "my Window"
objWin.Width = 400
objWin.Height = 300
objWin.DefaultRenderTo = DefaultRenderTo.Form
objWin.ConstrainHeader = True
objWin.Icon = Icon.Application
objWin.CloseAction = CloseAction.Destroy
Dim objGridPanel As New GridPanel
Dim objStore As New Store
Dim objModel As New Model
Dim objColumn1 As New Column
Dim objColumn2 As New Column
Dim objButton As New Button
'Dim objRowSelectionModel As New RowSelectionModel
'objRowSelectionModel.Mode = SelectionMode.Single
objButton.ID = "myButton"
objButton.Text = "查询"
objButton.Handler = "function(){#{DirectMethods}.query();}"
objModel.Fields.Add("PLU")
objModel.Fields.Add("Desci")
objStore.PageSize = 100
objStore.Model.Add(objModel)
mobjLstOfvwItemOnHand = prjECWSDB.BLL.BL_clsvwItemOnHandOnOrderDGQByWHOverview.FillData(, , , , , , , , )
ObjStore.DataSource = mobjLstOfvwItemOnHand
ObjStore.DataBind()
objGridPanel.Store.Add(objStore)
objColumn1.ID = "myID"
objColumn1.Text = "myID"
objColumn1.DataIndex = "PLU"
objColumn2.ID = "myName"
objColumn2.Text = "myName"
objColumn2.DataIndex = "Desci"
objGridPanel.ID = "myPanel"
objGridPanel.ColumnModel.Add(objColumn1)
objGridPanel.ColumnModel.Add(objColumn2)
'objGridPanel.Add(objRowSelectionModel)
objWin.Add(objButton)
objWin.Add(objGridPanel)
Desktop.GetInstance.CreateWindow(objWin)
End Sub
3 在后台动态创建GridPanel的另一例子
Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
Dim objGridPanel As New Ext.Net.GridPanel
Dim objColumnID As New Ext.Net.Column
Dim objColumnName As New Ext.Net.Column
Dim objList As New List(Of MyClass1)
Dim objClass1 As New MyClass1
Dim objClass2 As New MyClass1
Dim objStore As New Ext.Net.Store
Dim objModel As New Ext.Net.Model
objColumnID.Text = "myID"
objColumnID.DataIndex = "myID"
objColumnName.Text = "myName"
objColumnName.DataIndex = "myName"
objGridPanel.ColumnModel.Add(objColumnID)
objGridPanel.ColumnModel.Add(objColumnName)
objGridPanel.ID = "myGridPanel"
objGridPanel.Height = 300
objGridPanel.Width = 400
objGridPanel.Title = "我的GridPanel"
objGridPanel.Icon = Ext.Net.Icon.Application
objClass1.myID = "jimmyID"
objClass1.myName = "jimmyName"
objClass2.myID = "hardenID"
objClass2.myName = "hardenName"
objModel.Fields.Add("myID")
objModel.Fields.Add("myName")
objStore.Model.Add(objModel)
objList.Add(objClass1)
objList.Add(objClass2)
objStore.DataSource = objList
If (Not Ext.Net.X.IsAjaxRequest) Then
objStore.DataBind()
End If
objGridPanel.Store.Add(objStore)
objGridPanel.Render()
End Sub