查看: 2607|回复: 4
注册时间最后登录阅读权限10积分280精华0帖子
中级会员, 积分 280, 距离下一级还需 220 积分
本帖最后由 anglegz 于
14:07 编辑
用js生成的grid,可以正常显示表格,但出现两个问题:
1、表格的斑马纹和drawcell事件控制的某列背景无法显示,在表标题行拉动某列后(移动),格式才可以显示。
2、动态改变data后,调用reload事件也无法显示,移动列后就可以显示。
请问是什么原因?
我是设置好grid的参数(set),drawcell事件后,执行load,然后再render显示表格的,先render再load结果也是一样。
注册时间最后登录阅读权限200积分7601精华0帖子
你把示例代码贴一下。
注册时间最后登录阅读权限10积分280精华0帖子
中级会员, 积分 280, 距离下一级还需 220 积分
本帖最后由 anglegz 于
09:15 编辑
function createGoodsList(intID, arrGoods) {
var arrColumn = [
{&field&: &strGoodsCodeColorName&, &header&: lang_label_strGoodsCodeColorName, &align&: &left&, &headerAlign&: ¢er&, &allowSort&: true, &width&: 135},
{&field&: &strGoodsName&, &header&: lang_label_strGoodsName, &headerAlign&: ¢er&, &allowSort&: true, &width&: 90},
{&field&: &strSex&, &header&: lang_label_strSex, &headerAlign&: ¢er&, &allowSort&: true, &width&: 40},
{&field&: &strGoodsTitle&, &header&: lang_label_strGoodsTitle, &headerAlign&: ¢er&, &width&: 110},
{&field&: &flotPrice&, &header&: lang_label_flotPrice, &headerAlign&: ¢er&, &allowSort&: true, &width&: 60},
{&field&: &intQty&, &header&: lang_label_intInputQty, &headerAlign&: ¢er&, &width&: 50, &editor&: {&type&: &spinner&, &maxValue&: &100&, &style&: &width:100%&}},
{&field&: &intOrderQty&, &header&: lang_label_intOrderQty, &headerAlign&: ¢er&, &allowSort&: true, &width&: 50}
];
for(k = 1; k &= intSizeMaxC k++) {
arrColumn.push( { &field&: &S& + k, &header&: &S& + k, &headerAlign&: ¢er&, &width&: 35 } );
}
var arrConfig = {
'id': 'goodsGrid' + intID,
'columns': arrColumn,
'pageSize': 20,
'width': '100%',
'height': '100%',
'allowCellEdit': true,
'allowCellSelect': true,
'fitColumns': false,
'showPageSize': false,
&data&: arrGoods.data,
&totalCount&: arrGoods.total,
&onselectionchanged&: &selectGoods&,
&allowAlternating&: true
};
var objTabs = mini.get('goodslist');
var objGrid = new mini.DataGrid();
objGrid.set(arrConfig);
objGrid.on(&drawcell&, function (e) {
var record = e.record,
column = e.column,
field = e.field,
value = e.
if(field == 'intQty') {
e.cellStyle = 'background:#D5FFD5';
}
if(field == 'intOrderQty') {
if(record.msg) {
e.cellStyle = 'color:#FF0000;';
}
}
});
objGrid.pager.on('pagechanged', function(e) {
alert(e.pageIndex);
});
objGrid.load();
objGrid.render(objTabs.getTabBodyEl('cate_' + intID));
$(arrGoods.data).each( function(i, n) {
arrGoodsPic[n.strGoodsCode + n.strColorCode] = n.arrP
});
}复制代码这里是生成表格的代码,请帮忙看看哪里有问题。生成出来后,表格没渲染好背景。
表格只有在移动列以后,才会正常渲染好,改变列宽都不行。
注册时间最后登录阅读权限200积分7601精华0帖子
1.提供的代码无法直接运行
2.代码太乱
3.代码使用有问题,你不应该使用内部对象控件。比如:objGrid.pager.on('pagechanged', function(e) {
alert(e.pageIndex);
});复制代码4.你通过静态赋值数据,就不要使用load方法继续加载远程数据。
5.我提供一个简单的创建表格、静态数据赋值的示例代码:& & var grid = new mini.DataGrid();
& & grid.set({& && &
& && &&&style: &width:700height:280&,
& && &&&valueField: &id&,
& && &&&showFooter: false,
& && &&&columns: [
& && && && &{ type: &indexcolumn& },
& && && && &{ field: &loginname&, header: &帐号&, width: 120, headerAlign: ¢er&, allowSort: true },
& && && && &{ field: &name&, header: &姓名&, width: 120, headerAlign: ¢er&, allowSort: true }
& && &&&]
& & });
& & grid.render(document.body);
& & //静态数据
& & var data = [
& && &&&{ loginname: &&, name: &张三& },
& && &&&{ loginname: &&, name: &李四& }
& & ];
& & grid.setData(data);复制代码
注册时间最后登录阅读权限10积分280精华0帖子
中级会员, 积分 280, 距离下一级还需 220 积分
搞掂了,要用setData来设置grid的数据就可以了。数据改变后,重新setData就可以了。原来是我的用法有问题,呵呵。谢谢管理员!
Powered by电脑教程子分类ps修改操作不能及时刷新显示解决办法
ps修改操作不能及时刷新显示解决办法
在windows系统使用photoshop
cs3时,有时写入字体后画面上没及时反应出来,有时修改图片后也不能及时同步显示。
解决办法:
1.快捷键【ctrl+K】弹出【首选项】对话框, 在左侧最下面点选【文字】, 之后在【文字选项】里去掉 【
显示亚洲字体选项】和【字体预览大小】 这两项前面的“打勾”即可。
2.重启ps,你会发现问题解决了。
已投稿到:
以上网友发言只代表其个人观点,不代表新浪网的观点或立场。