/** * model中设置visible属性使该列可生成,设置editor可以传递编辑器, * model中设置columnName可传递列名,默认为model的name为列名 * grid中设置autoGenerateColumns: true,可使自动生成列 * author:dys1990@qq.com */ Ext.override(Ext.grid.Panel, { initComponent: function() { this.autoGenerateColumn(); this.callParent(arguments); } }); Ext.define('Ext.ux.AutoGenerateColumn', { autoGenerateColumn: function() { var me = this, noModel = Ext.isDefined(me.model) === false, noAutoGenerate = Ext.isDefined(me.autoGenerateColumns) === false; if (noModel && noAutoGenerate) { return; } if (me.autoGenerateColumns === true) { if(Ext.isString(me.model)) { me.model = Ext.ModelManager.getModel(me.model); } var modelFields = me.model.prototype.fields; me.columns = new Array(); // Adding columns to grid for (var i=0; i < modelFields.length; i++) { var modelField = modelFields.items[i]; var isVisible = (Ext.isDefined(modelField.visible) && (modelField.visible === true)); var columnName; if (isVisible) { columnName=modelField.name; if(Ext.isDefined(modelField.columnName)){ columnName=modelField.columnName; } var column = { text: columnName, dataIndex: modelField.name }; if (modelField.type.type === 'floatOrString') { column.renderer = Ext.util.Format.numberOrString; } if(Ext.isDefined(modelField.editor)){ column.editor=modelField.editor; } me.columns.push(column); } } } if (me.columns.length == 0) { Ext.Error.raise('No fields declared in ' + me.model.$className + ' with property visible. Columns will not be created!'); } } }); Ext.grid.Panel.mixin('AutoGenerateColumn', Ext.ux.AutoGenerateColumn);
详细解决方案
Extjs4 grid依据model自动生成列
热度:101 发布时间:2012-08-28 12:37:01.0
相关解决方案
- Extjs grid 失去选中行的列数据
- ExtJS4.0 文件上传的返回JSON字符串不对,该如何解决
- Ext.grid.rowexpander 默许展开
- Ext.ux.grid.RowEditor 的使用出现有关问题 。 求大神指点
- 小女子请教一个 Ext.ux.grid.RowEditor的有关问题
- Extjs4 Grid不显示数据,该怎么处理
- ()extjs4.0 mvc模式中,在controller中获取view层的元素对象
- extjs grid 怎么实现 行选中变色
- javaBean 跟 Model 的关系
- DevExpress.XtraGrid.Views.Grid.GridView 怎么自增新行
- 哪位高手能帮忙告诉小弟我borland 2006/2007 的 model view 设计的资料
- grid ++ report异常
- Grid++Report 显示有关问题
- js里头拼字符串 @Model.VirDir + "views[*0].swf," + @Model.FlvCount + "}"
- @foreach (var doc in Model.Magazine),该如何解决
- @Model.CurrentArticle.PubDate.ToString("yyyy-MM-dd HH:mm")解决方案
- @model IEnumerable<MvcMovie.Models.Movie>该怎么解决
- model,该怎么处理
- 有关MVC3中用到Html.Telerik().Grid()的绑定有关问题, 急
- asp.net mvc 中 Html.EditorFor 怎么添加 htmlattribute 属性 小弟我想把 @Html.EditorFor(model
- ComponentArt:Grid 单击第二页时 报the data could not be loaded,该如何处理
- easyui grid 关于最后一条记录,该怎么解决
- 关于Ilist<Model> 取值,该如何处理
- 关于dv grid 的有关问题
- Ext Js 4 为什么一直出现 grid.getSelectionModel()没有定义。该如何解决
- 无法将类型“Maticsoft.Model.Login”隐式转换为“WebAppDL.admin.Login,该如何解决
- ???????小白请问:未能找到元数据文件“G:\NetFiles\LibrarySystem\Model\bin\Debug\Model.dll”
- grid++report Web插件有破解版本吗?解决思路
- CustomerEntity innerModel = model as CustomerEntity;//是什么意思?解决办法
- ,业务对象 Model 怎么实现绑定到 DetailsView 控件