ExtJs中根据后台数据动态创建表格列及其数据
2016-12-21 14:07
531 查看
renderDynamicTable: function(dataset,type, tab) {
var resultSetId = type === 'control' ? '#controlResultSet' : '#testResultSet';
var ctlSet = dataset;
if(Ext.isArray(ctlSet) && ctlSet.length > 0){
var ctlData = [];
var fields = [];
//根据数据集动态创建store fields及行数据
ctlSet.forEach(function(row,index){
var rowData = {};
if(row && row.length > 0){
if(fields.length === 0){
for(var i=0;i<row.length;i++){
fields.push('col' + i);
}
}
row.forEach(function(value,index){
rowData[fields[index]] = value;
});
ctlData.push(rowData);
}
});
var columns = [];
//根据数据集动态创建列
fields.forEach(function(name,index){
columns.push({
text: name,
dataIndex: name,
renderer: function(value, metaData, record, rowIndex, colIndex, store, view) {
if(!Ext.isEmpty(value)){
metaData.tdAttr = 'data-qtip="' + value + '"';
}
return value;
}});
});
//创建内存store,绑定数据及fields
Ext.create('Ext.data.Store', {
storeId:'ctlStore',
fields:fields,
data: ctlData,
proxy: {
type: 'memory',
reader: {
type: 'json'
}
}
});
//给表格重写配置store和列
tab.down(resultSetId).reconfigure(Ext.data.StoreManager.lookup('ctlStore'),columns);
}
}
var resultSetId = type === 'control' ? '#controlResultSet' : '#testResultSet';
var ctlSet = dataset;
if(Ext.isArray(ctlSet) && ctlSet.length > 0){
var ctlData = [];
var fields = [];
//根据数据集动态创建store fields及行数据
ctlSet.forEach(function(row,index){
var rowData = {};
if(row && row.length > 0){
if(fields.length === 0){
for(var i=0;i<row.length;i++){
fields.push('col' + i);
}
}
row.forEach(function(value,index){
rowData[fields[index]] = value;
});
ctlData.push(rowData);
}
});
var columns = [];
//根据数据集动态创建列
fields.forEach(function(name,index){
columns.push({
text: name,
dataIndex: name,
renderer: function(value, metaData, record, rowIndex, colIndex, store, view) {
if(!Ext.isEmpty(value)){
metaData.tdAttr = 'data-qtip="' + value + '"';
}
return value;
}});
});
//创建内存store,绑定数据及fields
Ext.create('Ext.data.Store', {
storeId:'ctlStore',
fields:fields,
data: ctlData,
proxy: {
type: 'memory',
reader: {
type: 'json'
}
}
});
//给表格重写配置store和列
tab.down(resultSetId).reconfigure(Ext.data.StoreManager.lookup('ctlStore'),columns);
}
}
相关文章推荐
- 使用jQuery动态创建一个表格,根据用户数输入的内容添加一行数据
- Extjs4.2 表格动态数据加载,以及动态选择分页条目,前后台详解
- ExtJs根据数据源Json数据来动态创建store与columnModel
- 使用jQuery动态创建一个表格,根据用户数输入的内容添加一行数据
- 根据后台数据动态创建CheckboxGroup的例子
- 使用jQuery动态创建一个表格(根据用户输入的内容添加一行数据,并且能逐行删除)
- 动态事创建的a标签上利用jq滑过元素执行事件通过ajax获取后台数据根据鼠标位置展示数据内容,鼠标离开消失
- JSTL根据后台传输list大小动态创建表格
- bootstrap,jquery利用后台传入的json数据创建动态表格
- 根据后台数据动态生成表格
- asp.net后台动态添加表格并将添加的数据保存到数库中
- 根据后台数据动态在html页面显示新的数据的方法:
- (24)ExtJS之表格加载远程数据及其分页显示
- javascript动态添加表格数据行(ASP后台数据库保存例子)
- extjs 页面打开时表格自动加载后台传来的json数据
- JqGrid 学习笔记---实现在jqGrid表格上动态的加行、删行,最后点击“保存”按钮,与后台交互,保存数据
- 《项目经验》--后台一般处理程序向前台JS文件传递JSON,JS解析JSON,将数据显示在界面--显示在DropDownList 或 显示在动态创建的table中
- 动态绘圆根据接收数据实时显示_在后台绘图显示实例
- 在MVC中动态读取JSON数据创建表格
- 根据后台传的数据动态生成grid的列和store的注意事项