模板维护-模板解析

        关于模板的解析。主要是关于主模板的解析。

        首先来说一下业务逻辑。首先点击树的节点。将树的code付给物资编码,然后通过物资编码去查询主模板(包含主模板ID和主模板信息)和子模板(不带{}的信息);

        假设有{}形式的信息。我们把主模板ID和主模板信息付给String參数,传到前台。在前台,首先推断传过来的String參数是否为空。假设为空则说明没有主模板,否则载入子模板信息。


        解析主模板:


        第一步:

        从上面的逻辑中获取到主模板信息是 {:内燃机车,0;电力机车,1;客车,2;货车,3;动车组,4;待报废,5;其它淘汰物资,9;}这样的形式的数据。



        第二步:


        我们对它进行拆分。
        定义一个datatable,然后为它分配两个字段:一个ID,一个Name。


        第三步:


        分割字符串。先把最前面的两个字符 {: 删除   方法例如以下:Substring(2, Smatlcate.Length - 2)

        字符串则变成了    内燃机车,0;电力机车,1;客车,2;货车,3;动车组,4;待报废,5;其它淘汰物资,9;} 

        然后我们将最后的 } 去掉   方法例如以下:.Split('}')[0].Trim()  
 
        字符串则变成了    内燃机车,0;电力机车,1;客车,2;货车,3;动车组,4;待报废,5;其它淘汰物资,9;
 
        我们将最后的分号;去掉  方法例如以下:TrimEnd(';')
 
        字符串则变成了    内燃机车,0;电力机车,1;客车,2;货车,3;动车组,4;待报废,5;其它淘汰物资,9

第三步:


        这样我们就能进行数组转换了:string[] strArr = Smatlcate.Split(';') 这是以分号位分隔符进行的数组转换

        第四步:
        最后我们就能够进行为原先定义的datatable(包括两个地段)循环赋值了,方法例如以下:


         DataRow dr = dt_ChildTemplets.NewRow();
         dr["ID"] = strArr[i].Split(',')[1].Trim();
         dr["NAME"] = "系列:" + strArr[i].Split(',')[0].Trim() + "," + strArr[i].Split(',')[1].Trim();

        最后我们就成功的将数组的信息传到datatable中去了。


         dt和下拉列表进行数据绑定,就能够赋值了。


         兴许还会有子模板解析和模板測试的博文。



posted @ 2017-08-16 11:18  wzjhoutai  阅读(234)  评论(0编辑  收藏  举报