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++;
}
}
}
}
绑定后的结果如下:
![](https://i-blog.csdnimg.cn/blog_migrate/e4a9fc12290ba602dd03491d2698bcd3.png)