C#数据表分列显示

liuyuzhen 2009-03-09 10:04:13
C#数据表分列显示
表中一行数据
1
2
3
4

想在datagridview中分行显示


1 0 0
0 2 0
0 0 3
0 4 0

能否实现啊,请高手支招,谢了!!!!!!
...全文
119 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
bingws 2009-03-11
  • 打赏
  • 举报
回复
using System;
using System.Data;

namespace WebApplication2
{
public class Class1
{
public static DataTable CreateOriginalTable()
{
DataTable dtOriginalTable = new DataTable();

dtOriginalTable.Columns.Add("aa", typeof(string));
dtOriginalTable.Columns.Add("bb", typeof(string));

DataRow dr = null;
dr = dtOriginalTable.NewRow();
dr["aa"] = "10";
dr["bb"] = "01";
dtOriginalTable.Rows.Add(dr);

dr = dtOriginalTable.NewRow();
dr["aa"] = "20";
dr["bb"] = "02";
dtOriginalTable.Rows.Add(dr);

dr = dtOriginalTable.NewRow();
dr["aa"] = "30";
dr["bb"] = "03";
dtOriginalTable.Rows.Add(dr);

return dtOriginalTable;
}

public static DataTable CreateTemTable(string[] arrColumns, string[] arrRows)
{
if (arrColumns == null)
throw new Exception("ParamNullException");
if (arrRows == null)
throw new Exception("ParamNullException");

DataTable dtTem = new DataTable();
DataRow drTem = null;

for (int i = 0; i < arrColumns.Length; i++)
{
dtTem.Columns.Add(arrColumns[i], typeof(string));
}

for (int j = 0; j < arrColumns.Length; j++)
{
drTem = dtTem.NewRow();
drTem[j] = arrRows[j];

for (int k = 0; k < arrColumns.Length; k++)
{
if (k != j)
drTem[k] = "0";
}

dtTem.Rows.Add(drTem);
}

return dtTem;

}

public static DataTable GetData()
{
string[] arrColumns = null;
string[] arrRows = null;

DataTable dt = null;
dt = CreateOriginalTable();

arrColumns = new string[dt.Rows.Count];
arrRows = new string[dt.Rows.Count];

for (int i = 0; i < dt.Rows.Count; i++)
{
arrColumns[i] = dt.Rows[i]["bb"].ToString();
arrRows[i] = dt.Rows[i]["aa"].ToString();
}

return CreateTemTable(arrColumns, arrRows);
}
}
}
liuyuzhen 2009-03-11
  • 打赏
  • 举报
回复
急切期盼答案啊,请高手支招,感谢了!!!!!
liuyuzhen 2009-03-11
  • 打赏
  • 举报
回复
急切期盼答案啊,请高手支招,感谢了!!!!!
liuyuzhen 2009-03-11
  • 打赏
  • 举报
回复
谢谢了,但是我不是要写死的,aa和bb只是举例,呵呵
麻子Mozart 2009-03-10
  • 打赏
  • 举报
回复
再顶
liuyuzhen 2009-03-10
  • 打赏
  • 举报
回复
不好意思,问题没有描述清楚

数据表中两列
表头: aa bb
10 01
20 02
30 03

我想在DATAGRIDVIEW中如下显示

表头: 01 02 03
10 0 0
0 20 0
0 0 30
aa列中的元素按照bb列中的元素条件分列显示
不知道这回是否描述清楚了,请高手支招,谢谢了!!!!!!

SealedLove 2009-03-10
  • 打赏
  • 举报
回复
期待解答 顶你个肺~
Cherishny 2009-03-10
  • 打赏
  • 举报
回复
[Quote=引用楼主 liuyuzhen 的帖子:]
C#数据表分列显示
表中一行数据
1
2
3
4

想在datagridview中分行显示


1 0 0
0 2 0
0 0 3
0 4 0

能否实现啊,请高手支招,谢了!!!!!!
[/Quote]、、
没看明白,描述清楚点
显示奇,偶对应???
程序员Linc 2009-03-10
  • 打赏
  • 举报
回复
顶你一下!
由于这个问题过于复杂,
要当场给你说才好,
下面是我的联系qq:88888888
wts_net 2009-03-10
  • 打赏
  • 举报
回复
你是固定的还是不固定的,你可以做一个临时表来装你的数据
建一个表tb2有table1.columns.count 列

for(int i = 0 ; i <tb1.cloumns.count;i++)
{

datarow dr = tb2.new row();
dr[i] = tb1.rows[0][i];
for(int j = 0 ;j<tb2.columns.count)
{
if(j != i)
{
dr[j] = tb1.rows[0][0];
}
}
tb2.rows.add(dr);
}

这是思路,呵呵 !

111,126

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Creator Browser
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧