WLib框架使用注意事项

 

多数据源同时提交

多数据源同时修改


w.isReady = true; 约定放到最后

sh.reloadOnEdit 表示点编辑的时候再次加载数据,编辑必须把 sh.reloadOnEdit = true

数据服务配置文件的继承覆盖需要与被继承的节点一致

store 的主键默认为第一行


waitid  的用法
 storeWareHouse.load({
                        waitid: 'storeWareHouse'
                    });
                    shStockBillMstInit.onEdit({
                        waitid: 'storeStockBillMstInit',
                        wait: 'storeWareHouse',
                        params: { id: $args.id }
                    });
                    storeWhlocation.load({
                        waitid: 'storeWhlocation',
                        wait: ['storeWareHouse','storeStockBillMstInit'] //一定要按照顺序调用,如果把storeStockBillMstInit或只
写storeStockBillMstInit 有可能 storeWhlocation.load 的请求执行会比 shStockBillMstInit 早
//                        params: {whid:storeStockBillMstInit.getAt(0).get('whid')}
                    });


<Create>

    <Table Name="in_stockbillmst">

      <Values>

        <Exp Field="createdate" Target="Express" Value="Now" level="1"/>

        <Exp Field="createman" Target="AppInfo" Value="UserId" level="1"/>

        <Exp Field="verdtm" Target="Express" Value="Now" level="1"/>

        <Exp Field="exes" Value="0" level="1"/>

        <Exp Field="audit" Value="0" level="1" />

      </Values>

    </Table>

  </Create>

系统默认值如 <Exp Field="audit" Value="0" level="1" />
 需要 加 leve = "1",表示优先取该值 否则会用客户端传上来的值


通用帮助 一张单据只能用一个。
      

查询控件必须后台服务的配置文件有相关键值,否则会报错
不要在页面写好控件后没有在配置文件配置相关键值就直接测试

<Table Name="ba_enterprise">

      <Field Name="compno"/>

      <Field Name="compname" />
    </Table>

    <Table Name="sa_ordermst_online">

      <Field Name="relbillno" AsName="wbillno"/>

    </Table>

  </Tables>
 <Read>

    <Sql>

      select [fields] from [table]
 
      left join ba_enterprise on [table].compid = ba_enterprise.id

      [where]

    </Sql>

  </Read>

配置文件的节点是区分大小写的 如果把 <Sql> 写成了 <sql> 会与预期结果不符合


ValueChangeOption="Leave" 表示控件会保留上次加载的值


<Record> 节点的<Where>节点不允许有元素

Ajax异步调用问题 :
如果一个Ajax请求还未结束,其他的Ajax请求无法请求到服务端这是因为ASP.NET的Session锁定的机制导致的
解决此问题的方法是在aspx页面的第一行里
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="OnSaleOrderDownload.aspx.cs" Inherits="BE.OnSale.OnSaleOrderDownload" EnableSessionState="ReadOnly" %>
加上 EnableSessionState="ReadOnly"


能用var b = builder.Transation(bd =>
            {
                bd.TransationBegin(true);
                if (Pub.Request("storeMst").Length > 0)
                {
                    storeStockBillMst.With(bd).Commit("storeMst");
                }
                if (Pub.Request("storeDtl").Length > 0)
                {
                    storeStockBillDtl.With(bd).Commit("storeDtl");
                }

            });  

尽量用,因为这个事务可以被其他外部事务调用,除非有特殊处理才用
         try
                {
                    builder.TransationBegin(true);
                    srvMst.DelStockBillById(jarr[i].TryParseToString());
                }
                catch (Exception ex)
                {
                    builder.TransationRollBack();
                    jarr.RemoveAt(i);
                    sError += ex.Message + "<br>";
                }
                finally
                {
                    builder.TransationEnd();
                }
这种事务处理不能被其他外部事务调用,一般主要用于需要特殊处理的环境


当有两个弹出框的时候 第一个框的关闭按钮与第二个框的关闭按钮的id必须不一样,否则第一个框会出现两个关闭按钮

 

如果希望语句不要出现 _uid 的where 查询条件 则可以在<DataService NeedUid="false"> 设置NeedUid="false"


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值