Your Ad Here
首页 | 编程语言 | 网站建设 | 游戏天堂 | 冲浪宝典 | 网络安全 | 操作系统 | 软件时空 | 硬件指南 | 病毒相关 | IT 认证
软讯网络 > 网站建设 > ASP.NET > (一)如何将一列多行(1列12行)转换成多列多行(3列4行)?(asp.net)
【标  题】:(一)如何将一列多行(1列12行)转换成多列多行(3列4行)?(asp.net)
【关键字】:12,asp.net
【来  源】:http://blog.csdn.net/orangapple/archive/2006/11/18/1394232.aspx

(一)如何将一列多行(1列12行)转换成多列多行(3列4行)?(asp.net)

Your Ad Here         1.     首先将type表读入到DataSet
代码略。DataSet的实例名为“infoDs”,DataTable名为” type”.
2. 在”infoDS”中再增加一个表,对其每行的每列进行赋值,代码如下:
说明:标记为蓝色的代码与本篇的内容无关,与设置背景色的内容有关。
int j = 0;
        DataTable myDataTable;
        DataRow myDataRow;
        ArrayList myAL = new ArrayList();
        ArrayList strAL = new ArrayList();
        //该函数将"type"表中一列转换成多行多列
        public void addTable()
        {
            //创建一个表"newTable"
            myDataTable = new DataTable("newTable");
            DataColumn myDataColumn = new DataColumn();
            //该函数创建"newTable"表的3列
            addColumn(myDataColumn);
         
            //获得DataTable["type"]中的行数
            int tCount = infoDs.Tables["type"].Rows.Count;
 
            //计算DataTable["newTable"]中的行数(如果DataTable["type"]中的行数是10-12行,则该表就是4行3列)
            int rowCount = 0;
            if(tCount%3>0)
            {
                rowCount = tCount/3+1;
            }
            else
            {
                rowCount = tCount/3;
            }
 
            //该函数给表newTable中的每行每列赋值
            addCloumnValue(tCount,rowCount);
 
            infoDs.Tables.Add(myDataTable);
            DataGrid1.DataSource = infoDs.Tables["newTable"].DefaultView;
            this.DataGrid1.DataBind();
 
            //以下两个函数是设置guid和string类型的背景色
            setGuidColor(myAL);
            setStringColor(strAL);
          }
 
        //该函数创建"newTable"表的3列
        public void addColumn(DataColumn myDataColumn)
        {
            for(int z = 1; z<4; z++)
            {
                string cloumnName = "cloumn" + z.ToString();
                myDataColumn = new DataColumn();
                myDataColumn.DataType = System.Type.GetType("System.String");
                myDataColumn.ColumnName = cloumnName;
                myDataColumn.ReadOnly = false;
                myDataColumn.Unique = false;
                myDataTable.Columns.Add(myDataColumn);
            }
        }
 
        //该函数给表newTable中的每行每列赋值
        public void addCloumnValue(int tCount,int rowCount)
        {
            //给每行赋值
            for(int i = 0; i<rowCount; i++)
            {
                myDataRow = myDataTable.NewRow();
                myDataTable.Rows.Add(myDataRow);
                //给每行的每列赋值
                for(int z = 1; z<4; z++)
                {
                   string cloumnName = "cloumn" + z.ToString();
                   if(j<tCount)
                   {
                       myDataTable.Rows[i][cloumnName] = infoDs.Tables["type"].Rows[j][0].ToString();
                       //判断该字段是否是“guid"类型
                       //Rows[j][1],j代表行,1表示是第二列
                       //ArrayList保存类型guid和string在”type"表中的序列号,如guid就是3,4,5,6; string就是10,11
                       if(infoDs.Tables["type"].Rows[j][1].ToString() == "guid")
                       {
                           myAL.Add(j.ToString());
                       }
                       //判断该字段是否是“string"类型
                       if(infoDs.Tables["type"].Rows[j][1].ToString() == "string")
                       {
                           strAL.Add(j.ToString());
                       }
                       j++;
                   }
                }
            }
}
绑定后的结果如下:
使用DataTable进行检索和排序示例:【上一篇】
Rails到底能支撑多大的负载?靠多进程吗?:【下一篇】
【相关文章】
  • ASP.NET之应用主题
  • 对ASP.NET的担心
  • 讲座展示:TechEd Europe DEV344 - ASP.NET AJAX Control Toolkit(中)
  • 现存问题以及解决方案:在ASP.NET AJAX中从客户端向服务器端传送DataTable
  • IronPython for ASP.NET CTP
  • ASP.NET 2.0之母版
  • 疑难杂症:ASP.NET AJAX 控件中HTML Intellisense功能的丢失
  • C++对象模型(12) - 3.4 Inheritance and the Data Member
  • 在 ASP.NET 中用匿名委托简单模拟 AOP 做异常和日志处理
  • PowerDesinger 12.1.0.1913破解补丁
  • 【随机文章】
  • 超酷的realplayer技巧
  • 软件管理专家Flash Soft Manager
  • 2002年十大电脑病毒纵览(2)
  • ASP.NET 2.0中实现模板中的数据绑定
  • 最近看的一些读书一
  • Think in java 答案_Chapter 5_Exercise 6
  • extern的小结
  • SA399课程介绍及学习目标
  • Linux操作系统的内核编译内幕详解 (11)
  • “望闻问切”识病毒
  • 【相关评论】
    没有相关评论
    【发表评论】
    姓名:
    邮件:
    随机码*
    评论*
          
    |  首 页  |  版权声明  |  联系我们   |  网站地图  |
    CopyRight © 2004-2007 软讯网络 All Rigths Reserved.