起步软件技术论坛
搜索
 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 1263|回复: 5

[结贴] 数据已经加载到model,但是datagrid不显示数据

[复制链接]

3

主题

12

帖子

26

积分

新手上路

Rank: 1

积分
26
QQ
发表于 2016-1-18 08:51:49 | 显示全部楼层 |阅读模式
本帖最后由 shrimpron 于 2016-1-18 08:53 编辑

如题,数据加载后,点击datagrid的表头排序才显示数据。
代码如下:
在dataTxn的onCustomRefresh事件中的代码
Model.prototype.dataTxnCustomRefresh = function(event) {
  var dataTxn = this.comp('dataTxn');
  justep.Baas.sendRequest({
   "url" : "/txf/query",
   "action" : "getTxnDetail",
   "async" : {},
   "params" : {
    "username" : "111"
   },
   success : function(data) {
    dataTxn.loadData(data);// 将返回的数据加载到data组件
   },
   error : function() {
    throw justep.Error.create("加载数据失败");
   }
  });
};
请各位大神帮忙看看什么情况,谢谢~~~
发表于 2016-1-18 10:38:49 | 显示全部楼层
请问你所说的gridData 是指的什么??
在success回调中执行完: dataTxn.loadData(data);方法后
debugger调试看看dataTxn.count() 是多少 确保是有数据正常加载在data组件中的!
qq:1912779713
WeX5教程--WeX5下载
回复 支持 反对

使用道具 举报

3

主题

12

帖子

26

积分

新手上路

Rank: 1

积分
26
QQ
 楼主| 发表于 2016-1-18 11:33:46 | 显示全部楼层
本帖最后由 shrimpron 于 2016-1-18 11:42 编辑
liangyongfei 发表于 2016-1-18 10:38
请问你所说的gridData 是指的什么??
在success回调中执行完: dataTxn.loadData(data);方法后
debugger调 ...

直接在dataTxnCustomRefresh的方法执行了,后台也有SQL查询,但是记录是0   。但是我加了一个按钮在按钮里面refreshData,数据就出来了。 何解?     gridData就是grid的id,我点击上面的排序,数据也可以出来。
我现在想进入界面就直接显示数据,应该如何处理?
回复 支持 反对

使用道具 举报

发表于 2016-1-18 13:40:48 | 显示全部楼层
shrimpron 发表于 2016-1-18 11:33
直接在dataTxnCustomRefresh的方法执行了,后台也有SQL查询,但是记录是0   。但是我加了一个按钮在按钮 ...

是3.3版本吧!refreshData 方法是调用 data组件的设置的queryAction操作的,而你写的代码应该是自定义action吧!那就要看你的java中是怎么实现的

不过排序的话,直接调用baasData组件 的setOrderBy  方法,然后把过来的列和 排序方式传入,再调用refreshData方法,就可以获得排序后的数据了,
方法用法请参考api文档!
qq:1912779713
WeX5教程--WeX5下载
回复 支持 反对

使用道具 举报

3

主题

12

帖子

26

积分

新手上路

Rank: 1

积分
26
QQ
 楼主| 发表于 2016-1-18 23:01:38 | 显示全部楼层
是用的3.3版本。是自定义action。java代码如下:
public static JSONObject getTxnDetail(JSONObject params, ActionContext context) throws SQLException, NamingException {
                HttpServletRequest request = (HttpServletRequest) context.get(ActionContext.REQUEST);
                User user = (User) request.getSession().getAttribute("user");

                System.out.println("--------------");
                Connection conn = context.getConnection(DATASOURCE_TAKEOUT);
                try {
                        String sql = " select *   "
                                        + "   from txfposp.tbl_n_txn t                                                                          "
                                        +"  where UPDT_DATE  between  '20160111000000' and '999999999'                                         "
                                        + "  ORDER BY UPDT_DATE DESC                                                                            ";
                       
                        Table table = null;
                        table = DataUtils.queryData(conn, sql, null, null, null, 10000);
                        System.out.println("jsonObj===" + Transform.tableToJson(table));
                        return Transform.tableToJson(table);

                } finally {
                        conn.close();
                }
        }

应该怎么写才能进入界面自动显示数据?是不是应为DataUtils.queryData(conn, querysql, sqlParams, columns, offset, limit);里面的columns没有传过来?应该怎么传?
谢谢了~

回复 支持 反对

使用道具 举报

发表于 2016-1-19 10:21:21 | 显示全部楼层
shrimpron 发表于 2016-1-18 23:01
是用的3.3版本。是自定义action。java代码如下:
public static JSONObject getTxnDetail(JSONObject param ...

3.2.1中关于写sql语句查询数据的方法,你可以参考下平台自带案例,比如:
/baas/src/com/justep/baas/takeout/DxServlet.java中的login方法
/baas/src/com/justep/baas/test/DemoServlet.java中的queryUser方法

确保你自己写的sql语句在数据库中是可以正常执行的!
你可以打印下sql这个字符串,然后在数据库中执行下,看看是否能正常执行返回只值呢??
qq:1912779713
WeX5教程--WeX5下载
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|X3技术论坛|Justep Inc.    

GMT+8, 2024-10-1 21:44 , Processed in 0.059685 second(s), 23 queries .

Powered by Discuz! X3.4

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表