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

QQ登录

只需一步,快速开始

查看: 3263|回复: 18

[处理中3] list 绑定baasdata后,坐分类菜单,如何更新数据

[复制链接]

11

主题

55

帖子

147

积分

初级会员

Rank: 2

积分
147
QQ
发表于 2017-1-16 09:06:02 | 显示全部楼层 |阅读模式

哪位大神帮忙指点下如何实现,先谢谢

希望实现的功能是:点击左边的catalogue1后,右边最上面的catalogue2会跟新,下面的catalogue2的分项catalogue3也会在catalogue2后随catalogue2跟新,baasDataProductM是catalogue3的分项,也需要随catalogue3的情况更新。
遇到的问题是:点击左边catalogue1后,右边顶部catalogue2有更新,它下面的catalogue3会更新到以catalogue2的第一个数据作为过滤条件搜索的结果,但baasDataProductM没有更新,另外再点击上边catalogue2的其他项时,catalogue3和baasDataProductM没有数据显示


下面是代码,劳烦哪位大神指点下,如何实现,谢谢

        Model.prototype.Catalogue1Click = function(event){
          var row = event.bindingContext.$object;
          var currentValue =row.val("Catalogue1");
          this.comp("Catalogue2").setFilter("filter2", "Catalogue1='"+currentValue+"'");
          this.comp("Catalogue2").refreshData();
                  this.comp("List2ndLevel").refresh();  
                          
          var value2=this.comp("Catalogue2").getValue("Catalogue2");
          this.comp("Catalogue3").setFilter("filter3", "Catalogue2='"+value2+"'");
          this.comp("Catalogue3").refreshData();
                  this.comp("List3rdLevel").refresh();         

          this.comp("productLevel").refresh();
        };
       
        Model.prototype.Catalogue2Click = function(event){
          var row = event.bindingContext.$object;
          var currentValue =row.val("Catalogue2");
          this.comp("Catalogue3").setFilter("filter4", "Catalogue2='"+currentValue+"'");
          //this.comp("Catalogue3").refreshData();
                  this.comp("List3rdLevel").refresh();   
          this.comp("productLevel").refresh();
        };

        Model.prototype.Catalogue3Click = function(event){
          var row = event.bindingContext.$object;
          var currentValue =row.val("Catalogue3");
          this.comp("baasDataProductM").setFilter("filterProduct", "GoodsCatalogue3='"+currentValue+"'");
          this.comp("baasDataProductM").refreshData();
                  this.comp("productLevel").refresh();

这个是想实现的功能

这个是想实现的功能

这个是程序里面提到的布局情况

这个是程序里面提到的布局情况

11

主题

55

帖子

147

积分

初级会员

Rank: 2

积分
147
QQ
 楼主| 发表于 2017-1-16 09:09:08 | 显示全部楼层
这是更新后没有数据出现的界面

更新没有数据出现的情况图片

更新没有数据出现的情况图片
回复 支持 反对

使用道具 举报

53

主题

928

帖子

1730

积分

金牌会员

Rank: 6Rank: 6

积分
1730
发表于 2017-1-16 09:33:12 | 显示全部楼层
使用主从表或树形数据
具体的  到文档中心查看  data主从   或树形      
demo里面也有案例
承接wex5开发web项目、微信页面等;
低费用进行零散功能开发(java、JS、微信各种接口、阿里云接口等)
QQ:459349489
回复 支持 反对

使用道具 举报

发表于 2017-1-16 13:36:30 | 显示全部楼层
设置为filter以后!不要调用data.refreshData()
可以直接调用list.refresh(true);
就可以data组件数据都跟新了

另外主从表的数据可以设置master属性
http://docs.wex5.com/wex5-ui-question-list-2094
qq:1912779713
WeX5教程--WeX5下载
回复 支持 反对

使用道具 举报

11

主题

55

帖子

147

积分

初级会员

Rank: 2

积分
147
QQ
 楼主| 发表于 2017-1-17 15:46:03 | 显示全部楼层
上面的方法都是过了,不行。
baasdata没有更新,只是list更新了
好像有人说baasdata组件需要接管onCustomRefresh事件才能刷新data, 怎么接管这个onCustomRefresh事件啊?
现在的主要问题是baasdata不更新
回复 支持 反对

使用道具 举报

11

主题

55

帖子

147

积分

初级会员

Rank: 2

积分
147
QQ
 楼主| 发表于 2017-1-17 15:48:11 | 显示全部楼层
我用的wex3.5, 有data jason 数据更新的例子,但没有baasdata的,不知道真么弄了
回复 支持 反对

使用道具 举报

11

主题

55

帖子

147

积分

初级会员

Rank: 2

积分
147
QQ
 楼主| 发表于 2017-1-17 16:05:01 | 显示全部楼层
下面这个是我在网上找的一个servlet,按照这个建立一个servlet后,JSONObject和Util 没有正确的包,解析不了了,所以这个还是解决不了问题
如果JSONObject换成GOOGLE的包,后面的parse没有这个方法定义,alibaba的jason 包导不进去这个servlet


// 查询订单,实现了分页查询和按检索关键字过滤
private static void queryOrder(ServletRequest request, ServletResponse response) throws SQLException, IOException, NamingException {
    // 参数序列化
    JSONObject params = (JSONObject) JSONObject.parse(request.getParameter(“params”));
    // 获取参数
    JSONObject columns = params.getJSONObject(“columns”); // 要返回的数据列定义,里面包含列名和列数据类型
    Integer limit = params.getInteger(“limit”); // 分页查询的行数
    Integer offset = params.getInteger(“offset”); // 分页查询的行偏移
    String search = params.getString(“search”); // 检索关键字
    // 存放SQL中的参数值
    List<Object> sqlParams = new ArrayList<Object>();
    // 存放SQL中的过滤条件
    List<String> filters = new ArrayList<String>();
    if (!Util.isEmptyString(search)) {
        // 增加过滤条件
        filters.add(“fUserName LIKE ? OR fPhoneNumber LIKE ? OR fAddress LIKE ? OR fContent LIKE ?”);
        // 检索关键字中如果没有%,则前后自动加%
        search = (search.indexOf(“%”) != -1) ? search : “%” + search + “%”;
        // 增加参数值,参数的个数和顺序必须与过滤条件的?相匹配
        for (int i = 0; i < 4; i++) {
            sqlParams.add(search);
        }
    }
    Table table = null;
    // 获取数据源连接
    Connection conn = Util.getConnection(DATASOURCE_TAKEOUT);
    try {
        // 执行单表数据查询,返回Table
        table = Util.queryData(conn, TABLE_TAKEOUT_ORDER, columns, filters, “fCreateTime DESC”, sqlParams, offset, limit);
    } finally {
        // 必须关闭数据源连接
        conn.close();
    }
    // 输出Table做为返回结果,这里会自动转换为Table的JSON格式
    Util.writeTableToResponse(response, table);
}
回复 支持 反对

使用道具 举报

11

主题

55

帖子

147

积分

初级会员

Rank: 2

积分
147
QQ
 楼主| 发表于 2017-1-17 16:07:12 | 显示全部楼层
list 绑定的baasdata更新好像是个难点,wex5里面不知道有么有一个例子,这样也是所有初学者的福音啊
回复 支持 反对

使用道具 举报

发表于 2017-1-17 16:32:05 | 显示全部楼层
jycs123 发表于 2017-1-17 16:07
list 绑定的baasdata更新好像是个难点,wex5里面不知道有么有一个例子,这样也是所有初学者的福音啊 ...

你是什么版本的wex5
baasData 只能配合baasServer使用!http://www.wex5.com/2-bex5
案例都是这样的啊!比如外卖

data组件的方式是3.2.1版本时使用的!
http://docs.wex5.com/wex5-server-question-list-2014/


qq:1912779713
WeX5教程--WeX5下载
回复 支持 反对

使用道具 举报

11

主题

55

帖子

147

积分

初级会员

Rank: 2

积分
147
QQ
 楼主| 发表于 2017-1-18 13:53:57 | 显示全部楼层
我的这个数据主数据这边不是唯一的,不能设置成主键,有什么功能能设置成与从数据相关联不?

另外Util.writeTableToResponse中的这个要用什么包啊?我模仿网上的servlet这个失效

我试了各种方法,是LIST 绑定的Baasdata没有更新,list.refresh只能更新list,baasdata没更新的话没有用。
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-5-4 11:42 , Processed in 0.060612 second(s), 26 queries .

Powered by Discuz! X3.4

© 2001-2013 Comsenz Inc.

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