有一个表
其中有两个字段skilltype 和skillcate
里面的值如下
skilltype skillcate
language english
language japanese
computer java
computer vb
现在想把里面的内容在一个datagrid中显示出来
显示结果是
language computer
english java
japanese vb
别人教我在dataset中新建表就可以了
但是我不知道具体该如何做
请教各位大虾了
1.先保证你的DataSet中的数据已经是按照skilltype分组的
DataTable table=new DataTable();
string flag=ds.Tables[0].Rows[0]["skilltype"];
table.Columns.Add(flag,typeof(string));
for(int i=1;i<ds.Tables[0].Rows.Count;i++)
{
DataRow row=ds.Tables[0].Rows[i];
if(row["skilltype"].ToString()!=flag)
table.Columns.Add(row["skilltype"].ToString(),typeof(string));
}
这样一个表结构就定义好了.然后做填充操作
for(int i=0;i<ds.Tables[0].Count)
{
DataRow _row=table.NewRow();
foreach(DataColumn col in table.Columns)
{
foreach(DataRow row in ds.Tables[0].Rows)
{
if(row["skilltype"].ToString()==col.Name)
{
_row[col.Name]=row["skillcate"].ToString();
}
}
}
table.Rows.Add(_row);
}
最后绑定datagrid:
datagrid.DataSource=table.DefaultView;
datagrid.DataBind();
以前有个人写过,你自己找找吧。
select * from tableName group by skilltype
up