[Ext.Net]TreePanel+gridPanel实例
@小花要完整例子,尝试一下图文并茂,力求完整。
前台代码
- <ext:ResourceManager ID="ResourceManager1" DirectMethodNamespace="RM" runat="server" />
- <ext:Store ID="StoreDeptDetailList" OnBeforeStoreChanged="StoreChanged" runat="server">
- <Reader>
- <ext:JsonReader IDProperty="ID">
- <Fields>
- <ext:RecordField Name="ID" />
- <ext:RecordField Name="wzdm" />
- ... ....
- <ext:RecordField Name="bz" />
- </Fields>
- </ext:JsonReader>
- </Reader>
- </ext:Store>
- <ext:Viewport ID="Viewport1" runat="server" Layout="border">
- <Items>
- <ext:Panel ID="Panel1" runat="server" Region="West" Split="true" Width="225" Border="false"
- AutoScroll="true">
- <Content>
- <ext:TreePanel ID="treePanel" runat="server" Border="false">
- <Root>
- </Root>
- <Listeners>
- <Click Handler="e.stopEvent();RM.NodeClick(node.id);" />
- </Listeners>
- </ext:TreePanel>
- </Content>
- </ext:Panel>
- <ext:Panel ID="PanelCenter" runat="server" Region="Center" Layout="Fit" Cls="ViewPortRight"
- ButtonAlign="Right" Width="270" Header="false" Title="物资明细" Icon="TableGear"
- Border="false">
- <Items>
- <ext:GridPanel ID="gpFuncsList" runat="server" StripeRows="true" ClicksToEdit="0"
- Header="false" Height="600" StoreID="StoreDeptDetailList" Border="true" TrackMouseOver="true">
- <TopBar>
- <ext:Toolbar ID="Toolbar2" runat="server" AutoWidth="true">
- <Items>
- <ext:Label runat="server" ID="lblTitle">
- </ext:Label>
- <ext:ToolbarFill ID="ToolbarFill1" runat="server" />
- <ext:Button ID="btnAdd" runat="server" Text="新增" Icon="Add">
- <Listeners>
- <Click Handler="#{gpFuncsList}.insertRecord();" />
- </Listeners>
- </ext:Button>
- <ext:Button ID="btnDelete" runat="server" Text="删除" Icon="Delete">
- <Listeners>
- <Click Handler="#{gpFuncsList}.deleteSelected();" />
- </Listeners>
- </ext:Button>
- <ext:Button ID="btnSave" runat="server" Text="保存" Icon="Disk">
- <Listeners>
- <Click Handler="#{gpFuncsList}.save();" />
- </Listeners>
- </ext:Button>
- </Items>
- </ext:Toolbar>
- </TopBar>
- <ColumnModel ID="ColumnModel1" runat="server">
- <Columns>
- <ext:Column ColumnID="wzmc" DataIndex="wzmc" Header="物资名称" Align="Center" Sortable="false">
- <Editor>
- <ext:TextField ID="TextField1" runat="server" />
- </Editor>
- </ext:Column>
- <ext:Column ColumnID="ggxh" DataIndex="ggxh" Header="规格型号" Align="Center" Sortable="false">
- <Editor>
- <ext:TextField ID="TextField2" runat="server" />
- </Editor>
- </ext:Column>
- <ext:Column ColumnID="bcdd" DataIndex="bcdd" Header="保存地点" Align="Center" Sortable="false">
- <Editor>
- <ext:TextField ID="TextField3" runat="server" />
- </Editor>
- </ext:Column>
- <ext:Column ColumnID="sccj" DataIndex="sccj" Header="生产厂家" Align="Center" Sortable="false">
- <Editor>
- <ext:TextField ID="TextField4" runat="server" />
- </Editor>
- </ext:Column>
- <ext:Column ColumnID="jxs" DataIndex="jxs" Header="经销商" Align="Center" Sortable="false">
- <Editor>
- <ext:TextField ID="TextField5" runat="server" />
- </Editor>
- </ext:Column>
- <ext:Column ColumnID="zzs" DataIndex="zzs" Header="制造商" Align="Center" Sortable="false">
- <Editor>
- <ext:TextField ID="TextField6" runat="server" />
- </Editor>
- </ext:Column>
- <ext:Column ColumnID="isny" DataIndex="isny" Header="是否为耐用品" Align="Center" Sortable="false">
- <Editor>
- <ext:ComboBox ID="TextField7" runat="server">
- <Items>
- <ext:ListItem Text="是" Value="是" />
- <ext:ListItem Text="否" Value="否" />
- </Items>
- </ext:ComboBox>
- </Editor>
- </ext:Column>
- <ext:Column ColumnID="jldw" DataIndex="jldw" Header="计量单位" Align="Center" Sortable="false">
- <Editor>
- <ext:ComboBox ID="ComboBox4" runat="server">
- <Items>
- <ext:ListItem Text="方" Value="方" />
- <ext:ListItem Text="公斤" Value="公斤" />
- <ext:ListItem Text="发" Value="发" />
- <ext:ListItem Text="根" Value="根" />
- <ext:ListItem Text="台" Value="台" />
- <ext:ListItem Text="灯" Value="灯" />
- <ext:ListItem Text="吨" Value="顿" />
- <ext:ListItem Text="米" Value="米" />
- <ext:ListItem Text="鞋" Value="鞋" />
- <ext:ListItem Text="套" Value="套" />
- <ext:ListItem Text="块" Value="块" />
- <ext:ListItem Text="辆" Value="辆" />
- <ext:ListItem Text="个" Value="个" />
- <ext:ListItem Text="把" Value="把" />
- </Items>
- </ext:ComboBox>
- </Editor>
- </ext:Column>
- <ext:Column ColumnID="cph" DataIndex="cph" Header="车牌号" Align="Center" Sortable="false">
- <Editor>
- <ext:TextField ID="TextField12" runat="server" />
- </Editor>
- </ext:Column>
- <ext:Column ColumnID="djgl" DataIndex="djgl" Header="电机功率" Sortable="false">
- <Editor>
- <ext:TextField ID="TextField13" runat="server" />
- </Editor>
- </ext:Column>
- <ext:Column ColumnID="zjs" DataIndex="jzs" Header="间(座)数" Align="Center" Sortable="false">
- <Editor>
- <ext:NumberField ID="TextField14" runat="server" />
- </Editor>
- </ext:Column>
- <ext:Column ColumnID="nx" DataIndex="nx" Header="使用年限" Align="Center" Sortable="false">
- <Editor>
- <ext:SpinnerField ID="SpinnerField2" runat="server" MinValue="1" MaxValue="100" AllowDecimals="true"
- DecimalPrecision="1" Accelerate="true" />
- </Editor>
- </ext:Column>
- <ext:Column ColumnID="scrq" DataIndex="scrq" Header="生产日期" Align="Center" Sortable="false">
- <Editor>
- <ext:DateField ID="TextField9" runat="server" />
- </Editor>
- <Renderer Fn="Ext.util.Format.dateRenderer('Y-m-d')" />
- </ext:Column>
- <ext:Column ColumnID="dqr" DataIndex="dqr" Header="到期日" Align="Center" Sortable="false">
- <Editor>
- <ext:DateField ID="TextField10" runat="server" />
- </Editor>
- <Renderer Fn="Ext.util.Format.dateRenderer('Y-m-d')" />
- </ext:Column>
- <ext:Column ColumnID="bz" DataIndex="bz" Header="备注" Align="Center" Sortable="false">
- <Editor>
- <ext:TextField ID="TextField11" runat="server" />
- </Editor>
- </ext:Column>
- </Columns>
- </ColumnModel>
- <BottomBar>
- <ext:PagingToolbar runat="server" ID="PagingToolbar1" PageSize="20" StoreID="StoreDeptDetailList">
- </ext:PagingToolbar>
- </BottomBar>
- <SelectionModel>
- <ext:RowSelectionModel ID="RowSelectionModel1" runat="server">
- </ext:RowSelectionModel>
- </SelectionModel>
- <LoadMask ShowMask="true" />
- </ext:GridPanel>
- </Items>
- </ext:Panel>
- </Items>
- </ext:Viewport>
复制代码
后台代码
- DataTable dt = new DataTable();
- protected void Page_Load(object sender, EventArgs e)
- {
- if (!IsPostBack && !X.IsAjaxRequest)
- {
- BuildTree(this.treePanel.Root);
- Hidden();
- }
- }
- #region 创建树
- //添加节点
- private Ext.Net.TreeNodeCollection BuildTree(Ext.Net.TreeNodeCollection nodes)
- {
- try
- {
- if (nodes == null)
- {
- nodes = new Ext.Net.TreeNodeCollection();
- }
- dt = wzflBLL.Instance.getALlwzml();
- DataRow[] drx = dt.Select(" FatherCode=''");
- Ext.Net.TreeNode root = new Ext.Net.TreeNode();
- root.NodeID = drx[0]["wzdm"].ToString();
- root.Text = drx[0]["wzmc"].ToString();
- root.Qtip = drx[0]["wzmc"].ToString();
- root.Expanded = true;
- root.Draggable = false;
- root.HrefTarget = drx[0]["wzdm"].ToString();
- nodes.Add(root);
- //添加相应子节点
- this.AddNodes(root);
- //ResourceManager1.AddScript("RefreshTree();");
- return nodes;
- }
- catch (Exception ex)
- {
- throw ex;
- }
- }
- //添加子节点
- private void AddNodes(Ext.Net.TreeNode parent)
- {
- DataRow[] drx = dt.Select();
- drx = dt.Select("FatherCode='" + parent.NodeID + "'");
- if (drx.Length == 0)
- {
- return;
- }
- foreach (DataRow dr in drx)
- {
- Ext.Net.TreeNode node = new Ext.Net.TreeNode();
- node.NodeID = dr["wzdm"].ToString();
- node.Text = dr["wzmc"].ToString();
- node.Qtip = dr["wzmc"].ToString();
- node.HrefTarget = dr["wzdm"].ToString();
- parent.Nodes.Add(node);
- AddNodes(node);
- }
- }
- #endregion
- //NODE点击事件
- [DirectMethod]
- public void NodeClick(string nodeID)
- {
- hdPid.Text = nodeID;
- String wzdm = "";
- //根据选中的树节点 来动态隐藏列
- if (hdPid.Text != "")
- {
- wzdm = wzmxBLL.getMaxFahterCode(hdPid.Text);
- }
- if (wzdm == "3")
- {
- gpFuncsList.ColumnModel.SetHidden(8, false);
- gpFuncsList.ColumnModel.SetHidden(9, false);
- gpFuncsList.ColumnModel.SetHidden(10, false);
- gpFuncsList.ColumnModel.SetHidden(6, true);
- }
- else if (wzdm == "2")
- {
- gpFuncsList.ColumnModel.SetHidden(6, false);
- gpFuncsList.ColumnModel.SetHidden(8, true);
- gpFuncsList.ColumnModel.SetHidden(9, true);
- gpFuncsList.ColumnModel.SetHidden(10, true);
- }
- else
- {
- gpFuncsList.ColumnModel.SetHidden(6, true);
- gpFuncsList.ColumnModel.SetHidden(8, true);
- gpFuncsList.ColumnModel.SetHidden(9, true);
- gpFuncsList.ColumnModel.SetHidden(10, true);
- }
- List<wzmxEntity> list = wzmxBLL.Instance.GetEntities(" where 1=1 and fldm='" + nodeID + "'");
- StoreDeptDetailList.DataSource = list;
- StoreDeptDetailList.DataBind();
- }
- protected void Hidden()
- {
- gpFuncsList.ColumnModel.SetHidden(6, true);
- gpFuncsList.ColumnModel.SetHidden(8, true);
- gpFuncsList.ColumnModel.SetHidden(9, true);
- gpFuncsList.ColumnModel.SetHidden(10, true);
- }
- protected void StoreChanged(object sender, BeforeStoreChangedEventArgs e)
- {
- ChangeRecords<wzmxEntity> persons = e.DataHandler.ObjectData<wzmxEntity>();
- foreach (wzmxEntity created in persons.Created)
- {
- wzmxEntity entity = created;
- entity.dwdm = Request.Cookies["danwei"].Value.Trim();
- entity.bmdm = Request.Cookies["bumen"].Value.Trim();
- entity.fldm = hdPid.Text;
- entity.wzdm = wzrkmlDal.GetNumber("008", "");
- wzmxBLL.Instance.Insert(ref entity);
- }
- foreach (wzmxEntity updated in persons.Updated)
- {
- wzmxBLL.Instance.Update(updated);
- }
- e.Cancel = true;
- }
- }
http://www.ext.net.cn/forum.php?mod=viewthread&tid=1498&extra=page%3D4
[Ext.Net]TreePanel+gridPanel实例的更多相关文章
- [Ext.Net]TreePanel 异步加载数据
异步加载数据指的是页面加载的时候只显示根目录,点击根目录再去加载其子目录. 下面就来介绍下这种异步加载的树结构要怎么实现 现将例子的图 QQ图片20131225134353.jpg (12.1 KB, ...
- Ext.Net 复制GridPanel的数据
Ext.Net 复制GridPanel的数据 2013-11-28 09:50:04| 分类: Ext.net | 标签: |举报 |字号大中小 订阅 CSS: <styletype ...
- [JAVASCRIPT][EXTJS]直接用JSON创建树形控件(Ext.tree.TreePanel )(转)
直接用JSON创建树形控件(Ext.tree.TreePanel ) 1.创建多个根节点的树形 2.直接使用JsonList创建树形 <!DOCTYPE HTML PUBLIC "-/ ...
- Ext.tree.TreePanel 属性详解
Ext.tree.TreePanel 属性详解 2013-06-09 11:02:47| 分类: ExtJs|举报|字号 订阅 原文地址:http://blog.163.com/zzf_fly/b ...
- Ext.Net TreePanel 修改Icon图标
分类: Ext.Net2012-09-24 13:44 1779人阅读 评论(0) 收藏 举报 webformserverextassemblyxhtmlobject 1.默认icon 2.自定义ic ...
- ext.net 实现gridpanel checkbox锁定
<%@ Page Language="C#" %> <%@ Register Assembly="Ext.Net" Namespace=&qu ...
- Extjs-树 Ext.tree.TreePanel 动态加载数据
先上效果图 1.说明Ext.tree.Panel 控件是树形控件,大家知道树形结构在软件开发过程中的应用是很广泛的,树形控件的数据有本地数据.服务器端返回的数据两种.对于本地数据的加载,在extjs的 ...
- Ext JS 6开发实例(四) :调整主视图
上文把主界面设置好,但是主视图因为界面的微调出现了显示问题,本文将把它调整好了. 打开app/view/main/Main.js,可以看到主视图是派生于标签面板(Ext.tab.Panel)的.在视图 ...
- Ext JS 6开发实例(三) :主界面设计
在上文中,已经将CMD创建的应用程序导入到项目里了,而且也看到默认的主界面了,今天的主要工作就是修改这个主界面,以符合项目的需要.除了设计主界面,还有一些其他的东西需要配置一下. 添加本地化包 打开a ...
随机推荐
- How To determine DDIC Check Table, Domain and Get Table Field Text Data For Value?
How To determineDDIC Check Table, Domain and Get Table Field Text Data For Value? 1.Get Table Fie ...
- SQL批处理与事务控制
今天我想要分享的是关于数据库的批处理与事务的控制.批处理对于项目的实际应用有非常大的具体意义. 一.批处理部分 首先我们新建一个表: create table t3( id int primary k ...
- J2EE中MVC的各层的设计原则及其编写注意事项
总结了下J2EE的MVC模式开发原则,很多细节处理好了是很有利于开发与维护的. 下面就从各层说起. 视图层 主要是客户端的显示,主要是JSP和HTML,随着Web的不断发展,许多基于Javascrip ...
- RE模块错误已解决.
下面这个错误是由于在正则[...]的内部,减号'-'是一个有特殊含义的字符(代表字符范围) 所以如果需要在[...]内匹配减号'-',需要用反斜杠'\'转义. >>> import ...
- 自定义一个View作为弹出对话框
public void dialog(){ //获得布局对象 View view = LayoutInflater.from(getActivity()).inflate(R.layout.dialo ...
- Android简易实战教程--第三十话《撕衣美女》
此篇邪恶一些,给单身屌丝发点"福利",通过图片的绘制,给美女脱掉衣服. 原理:图片覆盖图片,通过画笔对顶端的图片做一些特效处理,即手指触摸的地方,设置为透明.即可显示最底部的美女图 ...
- React Native组件只Image
不管在Android还是在ios原生的开发中,图片都是作为控件给出来的,在RN中也有这么一个控件(Image).根据官网的资料,图片分为本地静态图片,网络图片和混合app资源.一下分类介绍来源官网. ...
- Matlab:如何查找给定目录下的文件
我们有很多目录,每个目录下都有些有用的文件,比如图像文件,如何自动的扫描这些文件呢? 可以使用dir函数来完成这个任务. 比如假设给定目录 baseDir,它是一个字符串,包含的是某个目录,例如'./ ...
- Android开发学习之路--UI之ListView
这里再学习写android的ListView,其实我们都使用过ListView,就像手机的联系人,就是用的ListView了.下面就实现下简单的ListView吧,首先是xml文件中添加相关的代码: ...
- Android 导入v7包常见错误,以及项目引用v7包错误解决
android下v4 v7 v21等包是android系统的扩展支持包,就想windows的系统补丁一个道理. android的扩展包主要是用来兼容低版本的,比如android3.0以后出现 ...