| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 2287 人关注过本帖
标题:datatable行和列的问题
取消只看楼主 加入收藏
gaoshenghua
Rank: 1
等 级:新手上路
帖 子:50
专家分:0
注 册:2010-10-28
结帖率:85.71%
收藏
已结贴  问题点数:20 回复次数:6 
datatable行和列的问题
图片附件: 游客没有浏览图片的权限,请 登录注册
图片附件: 游客没有浏览图片的权限,请 登录注册
图片附件: 游客没有浏览图片的权限,请 登录注册
图片附件: 游客没有浏览图片的权限,请 登录注册

按照顺序,分1234图(从左到又)
我要从数据库调出数据,绑定到gridview里面,将多行改成一行输出,现在的问题是,可以改成行输出,可是数据库里面有多少行,gridview里面就有多少行,效果就是图2
我现在想要实现图四+三的结合,也就是一行?哪位帮我看看
程序代码:
 DataTable flattable=hii.floatta(str20);  
            DataView flatview = new DataView(flattable);
            DataView flatta = new DataView(flattable); 
            DataTable lottable =hii.lottab(flatview);
            DataTable defecttables = hii.qd();
            


            crosstable.Columns.Add("CLAIMDATETIME", typeof(string));
            crosstable.Columns.Add("LOTNO", typeof(string));
            crosstable.Columns.Add("WO", typeof(string));
            crosstable.Columns.Add("PRODUCTNO", typeof(string));
            crosstable.Columns.Add("PRODUCTNAME", typeof(string));
            crosstable.Columns.Add("P_LOT_BRANCHNO", typeof(string));
            crosstable.Columns.Add("USED_MATE01", typeof(string));
            crosstable.Columns.Add("USED_MATE02", typeof(string));
            crosstable.Columns.Add("type_04", typeof(string));
            crosstable.Columns.Add("INSPECTOR", typeof(string));
            crosstable.Columns.Add("INPUTUSER", typeof(string));
            crosstable.Columns.Add("REMARK", typeof(string));
            crosstable.Columns.Add("QTY_PROD", typeof(float));
            crosstable.Columns.Add("OKQTY_PROD", typeof(float));
            crosstable.Columns.Add("A_RATE", typeof(float));
            crosstable.Columns.Add("BAD_QTY", typeof(float));
            crosstable.Columns.Add("B_RATE", typeof(float));
            crosstable.Columns.Add("qian_qtys", typeof(float));
            crosstable.Columns.Add("qian_qty", typeof(float));
            crosstable.Columns.Add("hou_qtys", typeof(float));
            crosstable.Columns.Add("hou_qty", typeof(float));
            crosstable.Columns.Add("P_OLD_LOTNO", typeof(string));
            crosstable.Columns.Add("PROD_STATUS", typeof(string));
            crosstable.Columns.Add("SPNUM_STATUS", typeof(string));
            crosstable.Columns.Add("M2_INSPECTMETHOD", typeof(string));

          foreach (DataRow r in defecttables.Rows)
            {
               crosstable.Columns.Add(r[0].ToString(), typeof(float));           
            }
            DataColumnCollection  cols = crosstable.Columns;        
            foreach (DataRow r in lottable.Rows)
            {
                DataRow newrows = crosstable.NewRow();

                newrows["CLAIMDATETIME"] = r[0];
                newrows["LOTNO"] = r[1];
                newrows["WO"] = r[2];
                newrows["PRODUCTNO"] = r[3];
                newrows["PRODUCTNAME"] = r[4];
                newrows["P_LOT_BRANCHNO"] = r[5];
                newrows["USED_MATE01"] = r[6];
                newrows["USED_MATE02"] = r[7];
                newrows["type_04"] = r[8];
                newrows["INSPECTOR"] = r[9];
                newrows["INPUTUSER"] = r[10];
                newrows["REMARK"] = r[11];
                newrows["QTY_PROD"] = r[12];
                newrows["OKQTY_PROD"] = r[13];
                newrows["A_RATE"] = r[14];
                newrows["BAD_QTY"] = r[15];
                newrows["B_RATE"] = r[16];
                newrows["qian_qtys"] = r[17];
                newrows["qian_qty"] = r[18];
                newrows["hou_qtys"] = r[19];
                newrows["hou_qty"] = r[20];
                newrows["P_OLD_LOTNO"] = r[21];
                newrows["PROD_STATUS"] = r[22];
                newrows["SPNUM_STATUS"] = r[23];
                newrows["M2_INSPECTMETHOD"] = r[24];
                for (int i = 25; i < cols.Count; i++)
                {
                  
                    flatview.RowFilter = String.Format("lotno='{0}' and DEFECTITEM='{1}'", r[1], defecttables.Rows[i-25][0]);
                     
                    if (flatview.Count > 0)
                    {
                       newrows[cols[i]] = flatview[0]["data"];
                    }
                }
               
               crosstable.Rows.Add(newrows);           
      //   DataTable cc= crosstable.DefaultView.ToTable(true,new string []{"lotno"});              
            }
            gv1.Visible = true;
            gv1.DataSource = crosstable.DefaultView;  
            gv1.DataBind();
            t4.Text = "總共有" + crosstable.Rows.Count.ToString() + "";
搜索更多相关主题的帖子: datatable 
2010-11-28 17:32
gaoshenghua
Rank: 1
等 级:新手上路
帖 子:50
专家分:0
注 册:2010-10-28
收藏
得分:0 
回复 2楼 c1_wangyf
图四和图三合为一个表,也就是一行,四的数据同样出现在图二后面,因为比较长,所以我分开截图的。
现在问题的我只要一样,而输出的时候给我输出了图二那样,输出多行,原来在数据中多行的数据是添加到了一行中,但是,
输出的行数和原来数据库中的行数是一样,很是费解!
2010-11-28 22:27
gaoshenghua
Rank: 1
等 级:新手上路
帖 子:50
专家分:0
注 册:2010-10-28
收藏
得分:0 
回复 2楼 c1_wangyf
就是这样的,这样应该很容易理解
图片附件: 游客没有浏览图片的权限,请 登录注册
2010-11-28 22:44
gaoshenghua
Rank: 1
等 级:新手上路
帖 子:50
专家分:0
注 册:2010-10-28
收藏
得分:0 
回复 6楼 c1_wangyf
头都大了!
2010-11-29 19:59
gaoshenghua
Rank: 1
等 级:新手上路
帖 子:50
专家分:0
注 册:2010-10-28
收藏
得分:0 
回复 8楼 c1_wangyf
现在让我不解的是,在我VS里面执行和生成是有重复行出现的,可是当我将生成后的代码放到IIS里面执行,就没有重复行了?
很奇怪,这是为什么呢?
2010-11-30 10:02
gaoshenghua
Rank: 1
等 级:新手上路
帖 子:50
专家分:0
注 册:2010-10-28
收藏
得分:0 
回复 10楼 c1_wangyf
可以告知具体是那个文件吗?我不是很清楚
2010-12-01 15:45
gaoshenghua
Rank: 1
等 级:新手上路
帖 子:50
专家分:0
注 册:2010-10-28
收藏
得分:0 
回复 12楼 c1_wangyf
版主,我觉得和那个没关系。
我重新写了一个项目,只是调用了里面的一个DLL文件的方法,问题还是这样,在VS里面执行,有重复行,而到iis里面就没有了!
汗颜,茫然!
2010-12-02 09:33
快速回复:datatable行和列的问题
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.025770 second(s), 9 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved