附录:Json书写举例

  硕正软件从1.0.82.0版开始,支持以Json语法书写Treelist了,如下是举例:
例1.最简单的Treelist
  该例子对应于 treelist\t1.xml:
{
 "Properties": {"Title":"订单明细表", "HeaderFontIndex":"2"}, 
 "Fonts": [
  {"faceName":"Consolas"},
  {"Font":null},
  {"faceName":"微软雅黑", "bold":"1"},
  {"bold":"true"}
 ],
 
 "Cols": [
  {"name":"Country", "width":"100", "text":"国家"},
  {"name":"OrderID", "width":"70", "align":"center", "text":"订单号"},
  {"name":"CustomerID", "width":"70", "text":"客户号"},
  {"name":"OrderDate", "width":"90", "datatype":"date", "text":"销售日期"},
  {"name":"RequiredDate", "width":"90", "datatype":"date", "text":"接单日期"},
  {"name":"Freight", "width":"80", "datatype":"double", "decimal":"2", "text":"货重"},
  {"name":"ShipName", "width":"210", "text":"船名"},
  {"name":"ShipCity", "width":"130", "text":"城市"},
  {"name":"ShipAddress", "width":"340", "text":"地址"}
 ]
}


例2.带分组、表达式、Droplist的Treelist
  该例子对应于 treelist\t2.xml:
{
 "Properties": {
  "Title":"科目余额表", "editAble":"true", "isTree":"true", "treeformat":"format=byId", "HeaderFontIndex":"1",
  "Expresses": [
   {"Express":"jd2=jd"},
   {"Express":"qmye = if(jd==2, qcye + dfe - jfe, qcye + jfe - dfe)"}
  ]
 },
 
 "Fonts": [
  {"faceName":"Consolas"},
  {"Font":null}
 ],
 
 "Cols": [
  {"name":"kmdm", "width":"150", "text":"科目代码"},
  {"name":"kmmc", "width":"180", "text":"科目名称"},
  {"name":"期初", "cols": [
    {"name":"jd", "width":"40", "align":"center", "editType":"droplist", "droplistID":"jdList", "text":"方向"},
    {"name":"qcye", "width":"100", "dataType":"double", "decimal":"2", "subTotalExpress":"@sum", "text":"余额"}
   ]
  },
  {"name":"本期发生", "cols": [
    {"name":"jfe", "width":"100", "dataType":"double", "decimal":"2", "subTotalExpress":"@sum", "text":"借方"},
    {"name":"dfe", "width":"100", "dataType":"double", "decimal":"2", "subTotalExpress":"@sum", "text":"贷方"}
   ]
  }, 
  {"name":"期末", "cols": [
    {"name":"jd2", "width":"40", "align":"center", "editType":"droplist", "droplistID":"jdList", "text":"方向"},
    {"name":"qmye", "width":"100", "dataType":"double", "decimal":"2", "subTotalExpress":"@sum", "text":"余额"}
   ]
  }
 ],
 
 "Droplists": {
  "Droplist": {"id":"jdList", "item": [
    {"key":"1", "text":"借"},
    {"key":"2", "text":"贷"},
    {"key":"3", "text":"平"}
   ]
  }
 }
}

例3.BackGround片段
{
 "Properties": {"editAble":"true", "rowHeight":"65", "key":"Model", 
  "BackGround": {"picture":"..\/res\/treelistsh.jpg", "alpha":"12", "rotate":"315", "arrange":"tile", "bgColor":"#dfdfdf"}
 },
 ...
}

例4.validations片段
{
 "Properties": {"editAble":"true", "rowHeight":"22",  
  "validations":  [
   {"errorText":"产品编码必须以1、3开头!", "text":"left(productID,1)=\'1\' or left(productId,1)=\'3\'"},
   {"errorText":"产品名称的第一位必须和产品编码的第一位一致!", "text":"left(productID,1) = left(productname,1)"},
   {"errorText":"交货日期至少要在明天!", "text":" CompareDate(dt, now())>0"},
   {"errorText":"未通过审核!", "icon":"stop", "text":"passed"},
   {"errorText":"定价只能在100-200、或500-600之间!", "text":" (100<=price and price<=200) or (500<=price and price<=600)"}
  ]
 },
 ...
}

例5.PrintPage片段
{
 "Properties": {"Title":"订单明细表", "HeaderFontIndex":"2",
  "PrintPage":{
   "Margin": { "left":"20", "right":"50" },
   "PageHeader": { [
     {"height":"22", "bgColor":"#eeeeee","border.bottom":"1"},
     {"height":"22", "valign"="middle","align":"left", "fontIndex":"2", "text":"北风公司货运资料"},
     {"y":"22", "height":"5", "bgcolor":"#ffffff"},
    ],
   },
   "header": {
    "isFirstPageOnly":"true", "layer": [
     {"height":"50", "valign":"middle", "fontindex":"4", "text":"货运单"},
     {"y":"70", "align":"left", "text":"制表单位:______________"},
     {"y":"70", "align":"right", "text":"填表日期:______________"},
    ]
   }
  }
 },

例6.Table片段
...
"table": [
 {"pid":null,    "id":"101",    "kmmc":"现金",    "jd":"1",    "qcye":"392093.00",    "jfe":"223399.00",    "dfe":"98300.00",    "jd2":"1",    "qmye":"517192.00"},
 {"pid":null,    "id":"102",    "kmmc":"银行存款",    "jd":"1",    "qcye":"549888.00",    "jfe":"220000.00",    "dfe":"200000.00",    "jd2":"1",    "qmye":"569888.00"},
 {"pid":"102",    "id":"10201",    "kmmc":"招商银行",    "jd":"1",    "qcye":"339888.00",    "jfe":null,    "dfe":"200000.00",    "jd2":"1",    "qmye":"139888.00"},
 {"pid":"102",    "id":"10202",    "kmmc":"工商银行",    "jd":"1",    "qcye":"210000.00",    "jfe":"220000.00",    "dfe":"0.00",    "jd2":"1",    "qmye":"430000.00"},
 {"pid":"10202",    "id":"1020201",    "kmmc":"工商银行垭口支行",    "jd":"1",    "qcye":"209000.00",    "jfe":"200000.00",    "dfe":null,    "jd2":"1",    "qmye":"409000.00"}
]
...