DataGrid相同的数据显示一行,不同的数据多行显示。可以根据下面代码改成多列显示

Html Code

< asp:datagrid  id ="dgdPrintPackingData"  runat ="server"  Visible ="False"  Width ="100%"  BorderColor ="#336666"  BorderStyle ="Double"  BorderWidth ="3px"  BackColor ="White"  CellPadding ="4"  AutoGenerateColumns ="False" >
                                                 < SelectedItemStyle  Font-Bold ="True"  ForeColor ="White" ></ SelectedItemStyle >
                                                 < ItemStyle  Font-Size ="10pt"  ForeColor ="#333333"  BackColor ="White" ></ ItemStyle >
                                                 < HeaderStyle  Font-Size ="10pt"  Font-Bold ="True"  ForeColor ="#004040"  BorderColor ="White"  BackColor ="White" ></ HeaderStyle >
                                                 < FooterStyle  ForeColor ="#333333"  BackColor ="White" ></ FooterStyle >
                                                 < Columns >
                                                     < asp:TemplateColumn  HeaderText ="Select" >
                                                         < HeaderTemplate >
                                                             < FONT  face ="宋体" > All
                                                                 < asp:CheckBox  id ="ckbSelectAll"  OnCheckedChanged ="cbkAllEdit_CheckedChanged"  runat ="server" ></ asp:CheckBox ></ FONT >
                                                         </ HeaderTemplate >
                                                         < ItemTemplate >
                                                             < FONT  face ="宋体" >
                                                                 < asp:CheckBox  id ="ckbSelect"  runat ="server" ></ asp:CheckBox ></ FONT >
                                                         </ ItemTemplate >
                                                     </ asp:TemplateColumn >
                                                     < asp:EditCommandColumn  ButtonType ="LinkButton"  UpdateText ="更新"  HeaderText ="编辑"  CancelText ="取消"  EditText ="&lt;img runat=&quot;server&quot; id=&quot;imgEidt&quot; src=&quot;../../images/edit.gif&quot; border=&quot;0&quot;/&gt;" ></ asp:EditCommandColumn >
                                                     < asp:BoundColumn  Visible ="False"  DataField ="id"  ReadOnly ="True"  HeaderText ="编号" ></ asp:BoundColumn >
                                                     < asp:BoundColumn  Visible ="False"  DataField ="org"  ReadOnly ="True"  HeaderText ="Org" ></ asp:BoundColumn >
                                                     < asp:BoundColumn  Visible ="False"  DataField ="packing_seq"  ReadOnly ="True"  HeaderText ="Packing Seq" ></ asp:BoundColumn >
                                                     < asp:BoundColumn  DataField ="ship_to"  ReadOnly ="True"  HeaderText ="Ship To" ></ asp:BoundColumn >
                                                     < asp:BoundColumn  DataField ="shipping_seq"  ReadOnly ="True"  HeaderText ="Seq" ></ asp:BoundColumn >
                                                     < asp:BoundColumn  DataField ="freight_term"  ReadOnly ="True"  HeaderText ="Freight" ></ asp:BoundColumn >
                                                     < asp:BoundColumn  DataField ="customer_name"  ReadOnly ="True"  HeaderText ="Customer Name" ></ asp:BoundColumn >
                                                     < asp:BoundColumn  DataField ="last_update_date"  ReadOnly ="True"  HeaderText ="Time" ></ asp:BoundColumn >
                                                     < asp:BoundColumn  DataField ="last_update_by"  ReadOnly ="True"  HeaderText ="User" ></ asp:BoundColumn >
                                                     < asp:BoundColumn  DataField ="part_no"  ReadOnly ="True"  HeaderText ="Part NO." ></ asp:BoundColumn >
                                                     < asp:BoundColumn  DataField ="qty"  ReadOnly ="True"  HeaderText ="Qty" ></ asp:BoundColumn >
                                                     < asp:BoundColumn  DataField ="grade"  ReadOnly ="True"  HeaderText ="Grade" ></ asp:BoundColumn >
                                                     < asp:TemplateColumn  HeaderText ="Pallet Qty" >
                                                         < ItemTemplate >
                                                             < FONT  face ="宋体" >
                                                                 < asp:Label  id ="lblPalletQty"  runat ="server"  Text ='<%#  DataBinder.Eval(Container, "DataItem.pallet_qty") % > '>
                                                                 </ asp:Label >
                                                                 < asp:TextBox  Visible ="False"  id ="txtPalletQty"  runat ="server"  Text ='<%#  DataBinder.Eval(Container, "DataItem.pallet_qty") % > '>
                                                                 </ asp:TextBox >
                                                             </ FONT >
                                                         </ ItemTemplate >
                                                     </ asp:TemplateColumn >
                                                     < asp:TemplateColumn  HeaderText ="L*W*H" >
                                                         < ItemTemplate >
                                                             < FONT  face ="宋体" >
                                                                 < asp:Label  id ="lblLwh"  runat ="server"  Text ='<%#  DataBinder.Eval(Container, "DataItem.lwh") % > '>
                                                                 </ asp:Label >
                                                                 < asp:TextBox  Visible ="False"  id ="txtLwh"  Text ='<%#  DataBinder.Eval(Container, "DataItem.lwh") % > ' runat="server">
                                                                 </ asp:TextBox >
                                                             </ FONT >
                                                         </ ItemTemplate >
                                                     </ asp:TemplateColumn >
                                                     < asp:TemplateColumn  HeaderText ="Weight" >
                                                         < ItemTemplate >
                                                             < FONT  face ="宋体" >
                                                                 < asp:Label  id ="lblWeight"  Text ='<%#  DataBinder.Eval(Container, "DataItem.weight") % > ' runat="server">
                                                                 </ asp:Label >
                                                                 < asp:TextBox  Visible ="False"  id ="txtWeight"  Text ='<%#  DataBinder.Eval(Container, "DataItem.weight") % > ' runat="server">
                                                                 </ asp:TextBox >
                                                             </ FONT >
                                                         </ ItemTemplate >
                                                     </ asp:TemplateColumn >
                                                     < asp:TemplateColumn  HeaderText ="Spl Pack Remark" >
                                                         < ItemTemplate >
                                                             < FONT  face ="宋体" >
                                                                 < asp:Label  id ="lblRemark"  Text ='<%#  DataBinder.Eval(Container, "DataItem.remark") % > ' runat="server">
                                                                 </ asp:Label >
                                                                 < asp:TextBox  Visible ="False"  id ="txtRemark"  runat ="server"  Text ='<%#  DataBinder.Eval(Container, "DataItem.remark") % > '>
                                                                 </ asp:TextBox >
                                                             </ FONT >
                                                         </ ItemTemplate >
                                                     </ asp:TemplateColumn >
                                                 </ Columns >
                                                 < PagerStyle  Font-Size ="10pt"  HorizontalAlign ="Center"  ForeColor ="White"  BackColor ="#336666"
                                                    Mode ="NumericPages" ></ PagerStyle >
                                             </ asp:datagrid >

c# Code

     BindData() #region BindData()
        private void BindData(string strOrg,string strBU,string dtScheduleDate)
        ...{
            if(this.validate())
            ...{

                if(strOrg.Length==0)
                ...{
                    ShowMessage.alertMessage("必须选择ERP Org",this.Page);
                    return;
                }
                if(strBU.Length==0)
                ...{
                    ShowMessage.alertMessage("必须选择BU",this.Page);
                    return;
                }

                定义#region 定义
                //vss表数据
                DataTable vssdt=new DataTable();
                //新表
                DataTable myDataTable=new DataTable();
                //vpcc表数据
                DataTable vpcdt=new DataTable();
                //vwmp表数据
                DataTable vwmdt=new DataTable();


                vssdt=vssh.objects.user.WH_Operation.Get_MainTainPackingInformation_vss_Data(strOrg,strBU,dtScheduleDate,oraConn);
                #endregion

                增加列#region 增加列

                DataColumn myDataColumn;
                
                //编号
                myDataColumn= new DataColumn();
                myDataColumn.DataType = System.Type.GetType("System.String");
                myDataColumn.ColumnName = "id";
                myDataTable.Columns.Add(myDataColumn);
                //Org
                myDataColumn= new DataColumn();
                myDataColumn.DataType = System.Type.GetType("System.String");
                myDataColumn.ColumnName = "org";
                myDataTable.Columns.Add(myDataColumn);
                //Ship_To
                myDataColumn = new DataColumn();
                myDataColumn.DataType = System.Type.GetType("System.String");
                myDataColumn.ColumnName = "ship_to";
                myDataTable.Columns.Add(myDataColumn);
                //SEQ
                myDataColumn = new DataColumn();
                myDataColumn.DataType = System.Type.GetType("System.String");
                myDataColumn.ColumnName = "shipping_seq";
                myDataTable.Columns.Add(myDataColumn);
                //Freight
                myDataColumn = new DataColumn();
                myDataColumn.DataType = System.Type.GetType("System.String");
                myDataColumn.ColumnName = "freight_term";
                myDataTable.Columns.Add(myDataColumn);
                //Customer Name
                myDataColumn = new DataColumn();
                myDataColumn.DataType = System.Type.GetType("System.String");
                myDataColumn.ColumnName = "customer_name";
                myDataTable.Columns.Add(myDataColumn);
                //Part NO
                myDataColumn = new DataColumn();
                myDataColumn.DataType = System.Type.GetType("System.String");
                myDataColumn.ColumnName = "part_no";
                myDataTable.Columns.Add(myDataColumn);
                //Grade
                myDataColumn = new DataColumn();
                myDataColumn.DataType = System.Type.GetType("System.String");
                myDataColumn.ColumnName = "grade";
                myDataTable.Columns.Add(myDataColumn);
                //Packing_Seq
                myDataColumn = new DataColumn();
                myDataColumn.DataType = System.Type.GetType("System.Int64");
                myDataColumn.ColumnName = "packing_seq";
                myDataTable.Columns.Add(myDataColumn);
                //Qty
                myDataColumn = new DataColumn();
                myDataColumn.DataType = System.Type.GetType("System.Int32");
                myDataColumn.ColumnName = "qty";
                myDataTable.Columns.Add(myDataColumn);


                //Pallet Qty
                myDataColumn = new DataColumn();
                myDataColumn.DataType = System.Type.GetType("System.String");
                myDataColumn.ColumnName = "pallet_qty";
                myDataTable.Columns.Add(myDataColumn);
                //LWH
                myDataColumn = new DataColumn();
                myDataColumn.DataType = System.Type.GetType("System.String");
                myDataColumn.ColumnName = "lwh";
                myDataTable.Columns.Add(myDataColumn);
                //Weight
                myDataColumn = new DataColumn();
                myDataColumn.DataType = System.Type.GetType("System.String");
                myDataColumn.ColumnName = "weight";
                myDataTable.Columns.Add(myDataColumn);
                //Remark
                myDataColumn = new DataColumn();
                myDataColumn.DataType = System.Type.GetType("System.String");
                myDataColumn.ColumnName = "remark";
                myDataTable.Columns.Add(myDataColumn);
                //LastUpdateBy
                myDataColumn = new DataColumn();
                myDataColumn.DataType = System.Type.GetType("System.String");
                myDataColumn.ColumnName = "last_update_by";
                myDataTable.Columns.Add(myDataColumn);
                //LastUpdateDate
                myDataColumn = new DataColumn();
                myDataColumn.DataType = System.Type.GetType("System.String");
                myDataColumn.ColumnName = "last_update_date";
                myDataTable.Columns.Add(myDataColumn);
            

                
                #endregion

                增加行#region 增加行
                System.Data.DataRow dr;
                for(int i=0;i<vssdt.Rows.Count;i++)
                ...{
                    string a=vssdt.Rows[i]["packing_seq"].ToString();
                    //有packing_seq
                    if(vssdt.Rows[i]["packing_seq"]!=DBNull.Value && vssdt.Rows[i]["packing_seq"].ToString().Length!=0)
                    ...{
                        vwmdt=vssh.objects.user.WH_Operation.Get_MainTainPackingInformation_vwmp_Data(long.Parse(vssdt.Rows[i]["packing_seq"].ToString()),oraConn);
                        for(int j=0;j<vwmdt.Rows.Count;j++)
                        ...{
                            dr=myDataTable.NewRow();
                            dr["id"]=vssdt.Rows[i]["plan_id"];
                            dr["org"]=vssdt.Rows[i]["org"];
                            dr["ship_to"]=vssdt.Rows[i]["ship_to"];
                            dr["shipping_seq"]=vssdt.Rows[i]["shipping_seq"];
                            dr["freight_term"]=vssdt.Rows[i]["freight_term"];
                            dr["customer_name"]=vssdt.Rows[i]["customer_name"];
                            dr["part_no"]=vssdt.Rows[i]["part_no"];
                            dr["grade"]=vssdt.Rows[i]["grade"];
                            dr["packing_seq"]=vssdt.Rows[i]["packing_seq"];
                            dr["qty"]=vssdt.Rows[i]["qty"];
                            dr["pallet_qty"]=vwmdt.Rows[j]["pallet_qty"];
                            dr["lwh"]=vwmdt.Rows[j]["lwh"];
                            dr["weight"]=vwmdt.Rows[j]["weight"];
                            dr["remark"]=vwmdt.Rows[j]["remark"];
                            dr["last_update_by"]=vwmdt.Rows[j]["last_upeate_by"];
                            dr["last_update_date"]=vwmdt.Rows[j]["last_update_date"];
                            myDataTable.Rows.Add(dr);                            
                        }
                    }
                        //没有packing_seq,sum(qty)大于0
                    else if(vssdt.Rows[i]["qty"]!=DBNull.Value && int.Parse(vssdt.Rows[i]["qty"].ToString())>0)
                    ...{
                        dr=myDataTable.NewRow();
                        dr["id"]=vssdt.Rows[i]["plan_id"];
                        dr["org"]=vssdt.Rows[i]["org"];
                        dr["ship_to"]=vssdt.Rows[i]["ship_to"];
                        dr["shipping_seq"]=vssdt.Rows[i]["shipping_seq"];
                        dr["freight_term"]=vssdt.Rows[i]["freight_term"];
                        dr["customer_name"]=vssdt.Rows[i]["customer_name"];
                        dr["part_no"]=vssdt.Rows[i]["part_no"];
                        dr["grade"]=vssdt.Rows[i]["grade"];
                        dr["packing_seq"]=vssdt.Rows[i]["packing_seq"];
                        dr["qty"]=vssdt.Rows[i]["qty"];
                        vpcdt=vssh.objects.user.WH_Operation.Get_MainTainPackingInformation_vpcc_Data(vssdt.Rows[i]["org"].ToString(),vssdt.Rows[i]["part_no"].ToString(),vssdt.Rows[i]["freight_term"].ToString(),oraConn);
                        //vpcc表是否有数据
                        if(vpcdt.Rows.Count>0)
                        ...{
                            int qtysum=int.Parse(vssdt.Rows[i]["qty"].ToString());
                            int qtycon=int.Parse(vpcdt.Rows[0]["pallet_panel_qty"].ToString());
                            int qtym=qtysum%qtycon;
                            int qtyz=qtysum/qtycon;
                            if(qtym ==0)
                            ...{
                                dr["pallet_qty"]=qtyz.ToString()+"*"+vpcdt.Rows[0]["pallet_panel_qty"].ToString();
                                dr["lwh"]=vpcdt.Rows[0]["lwh"].ToString();
                                dr["weight"]="";
                                dr["remark"]="";
                                dr["last_update_by"]="";
                                dr["last_update_date"]="";
                                myDataTable.Rows.Add(dr);
                            }
                            else
                            ...{
                                dr["pallet_qty"]="1*"+qtym.ToString();
                                dr["lwh"]="";
                                dr["weight"]="";
                                dr["remark"]="";
                                dr["last_update_by"]="";
                                dr["last_update_date"]="";
                                myDataTable.Rows.Add(dr);
                            }
                        }
                        else
                        ...{
                            dr["pallet_qty"]="";
                            dr["lwh"]="";
                            dr["weight"]="";
                            dr["remark"]="";
                            dr["last_update_by"]="";
                            dr["last_update_date"]="";
                            myDataTable.Rows.Add(dr);
                        }
                    }
                        //没有packing_seq,sum(qty)为0
                    else
                    ...{
                        dr=myDataTable.NewRow();
                        dr["id"]=vssdt.Rows[i]["plan_id"];
                        dr["org"]=vssdt.Rows[i]["org"];
                        dr["ship_to"]=vssdt.Rows[i]["ship_to"];
                        dr["shipping_seq"]=vssdt.Rows[i]["shipping_seq"];
                        dr["freight_term"]=vssdt.Rows[i]["freight_term"];
                        dr["customer_name"]=vssdt.Rows[i]["customer_name"];
                        dr["part_no"]=vssdt.Rows[i]["part_no"];
                        dr["grade"]=vssdt.Rows[i]["grade"];
                        dr["packing_seq"]=vssdt.Rows[i]["packing_seq"];
                        dr["qty"]=vssdt.Rows[i]["qty"];
                        dr["pallet_qty"]="";
                        dr["lwh"]="";
                        dr["weight"]="";
                        dr["remark"]="";
                        dr["last_update_by"]="";
                        dr["last_update_date"]="";
                        myDataTable.Rows.Add(dr);
                    }
                    int fd=myDataTable.Rows.Count;
                }


                
                #endregion
                
                DataGird 显示#region DataGird 显示

                if(myDataTable.Rows.Count!=0)
                ...{
                    this.pnlPringPacking.Visible=true;
                    this.dgdPrintPackingData.Visible=true;
                    this.lblnodata.Visible=false;
                    this.dgdPrintPackingData.DataSource=myDataTable;
                    this.dgdPrintPackingData.DataBind();
                }
                else
                ...{
                    this.dgdPrintPackingData.Visible=false;
                    this.lblnodata.Visible=true;
                }

                for(int i=1;i<dgdPrintPackingData.Items.Count;i++)
                ...{
                    if(this.dgdPrintPackingData.Items[i].Cells[2].Text.Trim()==this.dgdPrintPackingData.Items[i-1].Cells[2].Text.Trim())
                    ...{
                        for(int j=0;j<14;j++)
                        ...{
                            this.dgdPrintPackingData.Items[i-1].Cells[j].RowSpan=2;
                            this.dgdPrintPackingData.Items[i].Cells[j].Visible=false;
                            
                        }
                    }
                    this.dgdPrintPackingData.Columns[2].Visible=false;
                }
                #endregion

            }
        }
        #endregion

DataGrid活用相关推荐

  1. easyui datagrid editor 编辑器的简单活用以及自定义校验

    本文介绍easyui的datagrid如何使用编辑器的功能并且完成自定义的校验 1.定义dategrid列表,这里editor主要是设置该字段可以编辑,并且指定自定义编辑类型 editor=" ...

  2. 改善DataGrid的默認分頁使其更友好

    DataGrid是.net平台下開發Web應用程序最常用的控件,使用該控件可以幫助您專注與商務邏輯的開發,數據的顯示交給它來處理就好了,隻要簡單的設置一些相關的屬性,一張漂亮的表格就出來了,同時,它提 ...

  3. DataGrid和GridView单击背景变色双击颜色还原

    DataGrid中 首先我们假设.aspx文件中DataGrid的数据行的样式为 <AlternatingItemStyle BackColor="White" ForeCo ...

  4. ASP.NET DEMO 14: 如何在 GridView/DataGrid 模板列中使用自动回发的 CheckBox/DropDownList

    有时候希望在 GridView 模板中使用自动回发的 CheckBox (autopostback=true) ,但是 CheckBox 没有 CommandName 属性,因此也就无法在 GridV ...

  5. 用js 判断datagrid 中的 checkbox 是否被选中

    private void Page_Load(object sender, System.EventArgs e)         {             // 在此处放置用户代码以初始化页面   ...

  6. 【转帖】如何通过 javascript 访问 GridView/DataGrid 选中 CheckBox 行各列的值

    功能需求 1,  单击 checkbox 返回当前行值 2,  外部按钮获取所有选择行的值 实现说明 参见主要代码,代码为自说明式. 原文地址:http://www.cnblogs.com/Jingl ...

  7. silverlight之How To:设置ComboBox控件的数据源当ComboBox用来作为DataGrid的某列的编辑控件时...

    DataGrid是个可编辑的列表控件,而且可以用已有的输入控件来作为某一列的编辑控件,比如用ComboBox控件来作为某列的编辑控件供用户选择数据,这个时候就要先设置好ComboBox控件的下拉列表项 ...

  8. 将DBF,XLS,XML,MDB文件导入C#DataGrid的方法

    以下的源码里分别给出了将DBF,XLS,XML,MDB文件导入C#DataGrid的方法,供各位参考. //PutInDataSet.cs的源码 using System; using System. ...

  9. 使用.NET自带的类实现DataGrid报表的打印。

    using System; using System.Windows.Forms; using System.Drawing; using System.Drawing.Printing; using ...

最新文章

  1. 获取组件的方式(方法)
  2. 列Readonly的问题
  3. 如何使用Jemeter对HTTP接口压测
  4. 8.8 Sencha Studio 监视工具( Inspect Tool)
  5. Android7.1+查看audio policy使用.conf/.xml(二十七)
  6. Puppet自动化运维排错案例
  7. 教你炒股票19:学习缠中说禅技术分析理论的关键
  8. python网易云音乐爬虫歌词_利用Python网络爬虫抓取网易云音乐歌词
  9. 有限单元法matlab编程,有限单元法基础及MATLAB编程-(第3版)
  10. 表白密码:I Love you的42种密码表白方式
  11. golang not enough arguments in call to uuid.Must
  12. 路演活动平台,怎么报名参加创业路演?
  13. 标准型微电脑酸碱度氧化还原电位控制器(UPH -100C)
  14. 面试常见SQL练习题
  15. python微信爬取教程_python爬取微信文章方法
  16. Office VBA也能任性截图(屏幕任意区域截图)
  17. nginx proxy_pass规则
  18. 阿里云服务器 之 mqtt服务器搭建及使用
  19. 微型计算机断电后信息将会丢失,2018年职称计算机考试题库(20)
  20. 如何低成本挖掘App商店的免费资源

热门文章

  1. kivy手写数字识别app
  2. 认识vue3.0项目的目录结构
  3. 多线程5一AbstractQueuedSynchronizer源码分析一
  4. python数组排序-python - 按列在NumPy中对数组进行排序
  5. Word使用目录设置(避坑)
  6. Java解析JT808协议示例
  7. Fy's dota2
  8. python series转置储存到excel_Python 实现Excel自动化办公下
  9. DNSmasq – 配置DNS和DHCP
  10. 移植jerryscript到单片机(bes2600yp)