winfom datatable 手动生成

 

  public DataTable GetMaterialSellInfo(int ModelId)
       {
           try
           {
               StringBuilder strSql = new StringBuilder();
               strSql.Append("  select m_name,m_code,product_code,wmsys.wm_concat(value) value");
               strSql.Append("  from (select b.m_name,b.m_code,b.product_code,a.period || ':' || a.price || ';' || a.min || ';' || a.max value");
               strSql.Append("  from act_material_sell a, ACT_MATERIAL_DICT b");
               strSql.Append("  where a.material_id = b.material_id and b.model_id=" + ModelId + "");
               strSql.Append("  order by b.m_name, a.period asc)");
               strSql.Append("  group by m_name,m_code,product_code");

               DataSet ds = GetDataSet(strSql.ToString());

               string M_Name, M_Code, Product_Code, Value = "";
               int ValueLength = 0;

               DataTable dt = new DataTable();

               int columncount = 0;

               DataTable newDt = ds.Tables[0].Clone();

               if (ds.Tables[0].Rows.Count > 0)
                   Value = ds.Tables[0].Rows[0]["VALUE"].ToString();
               ValueLength = Value.Split(',').Length;

               for (int i = 0; i < ValueLength * 3; i++)
               {
                   newDt.Columns.Add(new DataColumn());
               }

               newDt.Columns.Remove("value");

               string str = "";
               for (int i = 0; i < ds.Tables[0].Rows.Count; i++)
               {
                   M_Name = ds.Tables[0].Rows[i]["M_NAME"].ToString();
                   M_Code = ds.Tables[0].Rows[i]["M_CODE"].ToString();
                   Product_Code = ds.Tables[0].Rows[i]["PRODUCT_CODE"].ToString();
                   Value = ds.Tables[0].Rows[i]["VALUE"].ToString();
                   ValueLength = Value.Split(',').Length;


               
                   DataRow dr = newDt.NewRow();
                   dr[0] = M_Name;
                   dr[1] = M_Code;
                   dr[2] = Product_Code;

                   dr[3] = "3";
                   dr[4] = "4";
                   dr[5] = "5";
                   dr[6] = "6";
                   dr[7] = "7";
                   dr[8] = "8";
                   dr[9] = "9";
                   dr[10] = "10";
                   dr[11] = "11";

                   newDt.Rows.Add(dr);

               }
               return newDt;
           }
           catch (Exception ex)
           {
               throw ex;
           }
       }

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值