ExtJS4 如何动态生成grid

问题描述

需求描述: 系统用到权限功能,每次登录的用户权限不一样,前台展示的grid列、内容是不一样的。 权限描述: 简要的概括:总公司(一级), 片区:A, B,C......(二级) 子公司:A1,A2,A3...(片区A)(三级) B1,B2,B3...(片区B)(三级) .................. 1.总公司可以看到所有片区对应的子公司信息. 2.片区只能看到片区对应的子公司信息. 3.子公司只能看到子公司信息. 目前能做到:根据登录的用户从数据库取出相应的数据(grid表头及表体信息) 问题描述:我怎么将上述信息传给前台,前台该怎么接受呢? 我用的是struts2 + extjs4.1 谁能提供一个好点的思路,如果有实例就更好了。先致谢! 问题补充:在网上找到一个简捷的办法,copy代码过来自己试了下,但是不能正常显示,浏览器报错。代码: var ctxpath = '/Drug';Ext.onReady(function() {Ext.Ajax.request( {url : ctxpath + '/ShopManager/LoadPlanListGrid',params : {results : ''},method : 'post',success : function(response) {var json = Ext.JSON.decode(response.responseText);var store = Ext.create('Ext.data.Store', {fields : json.fields,data : json.data});Ext.getCmp("configGrid").reconfigure(store, json.colums);Ext.getCmp("configGrid").render();}});Ext.create("Ext.grid.Panel", {//tbar : auditBtn,displayInfo : true,id : 'configGrid',name : 'configGrid',renderTo : 'grid',columns : [],items : []});});浏览器截取到的JSON: {"results":"["colums":[{"dataIndex":"number","header":"序号"},{"dataIndex":"text1","header":"编码"},{"dataIndex":"info1","header":"名称"},{"dataIndex":"special1","header":"金额"}],"fields":[{"name":"number"},{"name":"text1"},{"name":"info1"},{"name":"special1"}],"data":[{"text1":"3","info1":"4","special1":"5","number":"1"}]]"}浏览器报的错误: [W] Ext.data.Store created with no model. 参考的实例地址:http://www.cxybl.com/html/extjs/2012022419535.html

解决方案

在后台获取配置的列,传到jsp后:比如'<s:property value="columns" '/>的值为 姓名-地址-电话,'<s:property value="fields" '/> 的值为 name-address-phone,在jsp上用js的split(-)数组,在页面拼装grid的columns数组和fileds数组就可以了。
解决方案二:
如果权限不同要显示的grid的columns不同,你可以定义response.text定义ajax返回字符确定具体columns,如果columns是不固定的,那么就需要一个新的ajax请求用于从数据库返回columns字段,进行页面显示。

时间: 2024-10-28 00:08:18

ExtJS4 如何动态生成grid的相关文章

ExtJS4 动态生成的grid导出为excel示例_extjs

搜索了蛮久,找到一些例子,因为我是初学者的缘故大多不知道怎么使用.. 研究了一下那个源码,搞到现在终于实现了基本的下载.解决了一个表格不能重复下载的小BUG,一个使用grid初始化发生的BUG 下面记录一下步骤.说不定下次还有用 1.下载需要用到js代码,我已经上传  2.在你的html文件中加入引用,路径问题自己 注意下,下面是我的路径 复制代码 代码如下: <script type="text/javascript" src="../export/export-al

如何通过动态生成Html灵活实现DataGrid分类统计的界面显示功能

datagrid|动态|生成html|统计|显示 步入IT业已经有几年的时间了,从最早接触pb6.0到现在.Net技术,计算机技术不论是从硬件还是软件都有巨大的进步.而中国程序员总体水平在世界上也是远远落后,其中缺乏完善的体系.必要的交流和程序员个人英雄主义的思想是主要原因.前不久在工作中遇到一个关于用DataGrid分类显示数据的问题,显示的样式入下图所示: 希望能为遇到类似问题的朋友提供一个解决方案,并掌握类似问题的解决方法. 问题剖析: 以上为例,每门课程属于不同的类别,需要将显示数据的第

Extjs动态生成表格

在web显示数据时,会遇到grid的列数和行数不确定的这种情况.如何来根据数据动态的创建表格呢? Extjs 的json data给我们带来了一个很好的比较简单的方法. 要创建一个grid需要确定它的列数,再根据数据的数量就可以确定行数了. 看到有人用过一种方法就是讲列的属性和数据一起放在json data里去,这样可以达到效果,但是不难发现,这样的话,就很难进行分页或者更新表格里的数据. 其实我们可以结合extjs官网上的那种固定列数的访问方法来动态生成表格. 首先通过Ajax从服务端反回列的

dev 根据datatable动态生成gridview

/// <summary> /// 根据datatable动态生成gridview /// </summary> /// <param name="dt"> code列是数据源,name列是显示名称</param> /// <param name="gv"></param> private void GetDynamicView(DataTable dt, GridView gv) { //gv

WPF动态生成TreeView 之后点击树中的一个节点,怎么打开一个新界面,类似VS一样

问题描述 WPF动态生成TreeView之后点击树中的一个节点,怎么打开一个新界面,类似VS一样<!--treeview的代码--><TreeViewx:Name="tvMenu"ItemsSource="{BindingSource={x:Staticlocal:TreeViewData.Data},Path=RootNodes}"HorizontalContentAlignment="Stretch"Background=&

Flex中如何动态生成DataGrid以及动态生成表头_Flex

在Flex中动态生成表格,并且表格的表头也是动态生成 1.源码 复制代码 代码如下: <?xml version="1.0" encoding="utf-8"?> <mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute" creationComplete="initHandler()" width

有点急!!!wpf 有关datagrid的多行表头 列有合并 而且列是动态生成的 动态绑定

问题描述 本人刚开始学习写wpf项目,遇到棘手问题,如下:数据库抽出的数据如下(datatable的内容)考核工种1....工种S日期人员天数金额....天数金额20150101张三25001120020150102张三25001120020150103张三250011200.....工种那块项目一样但是对应的字段名不一样.datagrid如果复杂的话,有简单可以达到这个效果的控件吗?求前后台代码的sample(xaml和C#),比较急,自己研究了几天,没有成果,郁闷! 解决方案 解决方案二:找

动态表头 固定-Gridview中怎么固定动态生成的表头?

问题描述 Gridview中怎么固定动态生成的表头? Gridview中固定表头的方法很多,但是如果是在后台生成的动态模板列的时候,表头是后台生成的,用CSS和js不能实现固定表头,那请问怎么样将其进行表头固定?求大神指导!谢谢!

button-android删除动态生成的按钮

问题描述 android删除动态生成的按钮 实现生成一些button,数量取决于用户(用户点击按钮,就会生成一个) 具体代码: RelativeLayout layout = (RelativeLayout) findViewById(R.id.layoutcprompt); RelativeLayout.LayoutParams OBJ = new RelativeLayout.LayoutParams (140,80); if ((commandsi%6)==0) {adjust=adjus