以分号分隔的字符串,怎么用DataTable显示出来,求高人指点!

茶暖人凉 2013-12-27 02:21:56
我数据库中有两张表,一张表data,里面的数据如下:


另外一张表 source 数据如下:


我想要实现如下的这种效果,请问用DataTable该怎么实现呢?

本人菜鸟级别的求帮忙,还望能有详细的代码示例,先谢谢了!


...全文
306 21 打赏 收藏 转发到动态 举报
写回复
用AI写文章
21 条回复
切换为时间正序
请发表友善的回复…
发表回复
zj25810 2013-12-27
  • 打赏
  • 举报
回复
引用 19 楼 moyanruo 的回复:
[quote=引用 14 楼 zj25810 的回复:] 这个是你需要的?
表示看了之后很头疼[/quote] 很好理解啊,可能你是被那些"@"符号给看晕了。 这是存储过程上处理数据,相对于在项目里还是占优势的。
茶暖人凉 2013-12-27
  • 打赏
  • 举报
回复
引用 14 楼 zj25810 的回复:
这个是你需要的?
表示看了之后很头疼
茶暖人凉 2013-12-27
  • 打赏
  • 举报
回复
引用 15 楼 laiyongxin 的回复:
[quote=引用 11 楼 moyanruo 的回复:] 你们甭管里面是什么内容,格式肯定是固定的,但就只能是上面那种写死的一列一列的列出来吗,没有其它简单点的办法吗?求解答,求不要纠缠在数据内容和格式上
格式固定就好了 你在给表添加列的时候 就不要写死用一个循环来弄
string[] colsName = "aaa;bbb;ccc;....".Split(';');
            DataTable table = new DataTable();
            foreach (string colname in colsName)
            {
                DataColumn col = new DataColumn(colname);
                table.Columns.Add(col);
            }
往表加数据的时候 你可以
            DataRow row = table.NewRow();
            //这边给表赋值时直接用列索引 而这个值可以在上面添加列的时候得到
            row[0] = "xxx";
            row[1] = "xxx";
            .....
            
[/quote] 这个倒是值得一试
茶暖人凉 2013-12-27
  • 打赏
  • 举报
回复
引用 16 楼 sossos555 的回复:
根据规律进行分割循环,不过不建议你这么去这么去存储数据,麻烦,不易操作。
我也不想啊,可是别人是这样做的,然后要去取数据,真心烦
啾啾我 2013-12-27
  • 打赏
  • 举报
回复
根据规律进行分割循环,不过不建议你这么去这么去存储数据,麻烦,不易操作。
lyx266 2013-12-27
  • 打赏
  • 举报
回复
引用 11 楼 moyanruo 的回复:
你们甭管里面是什么内容,格式肯定是固定的,但就只能是上面那种写死的一列一列的列出来吗,没有其它简单点的办法吗?求解答,求不要纠缠在数据内容和格式上
格式固定就好了 你在给表添加列的时候 就不要写死用一个循环来弄
string[] colsName = "aaa;bbb;ccc;....".Split(';');
            DataTable table = new DataTable();
            foreach (string colname in colsName)
            {
                DataColumn col = new DataColumn(colname);
                table.Columns.Add(col);
            }
往表加数据的时候 你可以
            DataRow row = table.NewRow();
            //这边给表赋值时直接用列索引 而这个值可以在上面添加列的时候得到
            row[0] = "xxx";
            row[1] = "xxx";
            .....
            
zj25810 2013-12-27
  • 打赏
  • 举报
回复
茶暖人凉 2013-12-27
  • 打赏
  • 举报
回复
引用 12 楼 zj25810 的回复:
给跪下了
不要捣乱好不好
zj25810 2013-12-27
  • 打赏
  • 举报
回复
给跪下了
茶暖人凉 2013-12-27
  • 打赏
  • 举报
回复
你们甭管里面是什么内容,格式肯定是固定的,但就只能是上面那种写死的一列一列的列出来吗,没有其它简单点的办法吗?求解答,求不要纠缠在数据内容和格式上
  • 打赏
  • 举报
回复
真是人外有人 山外有山!
茶暖人凉 2013-12-27
  • 打赏
  • 举报
回复
引用 8 楼 a33440521 的回复:
“格式是固定的,就是一开始,我不知道,有几个分号,也不知道里面的内容是什么” 这个奇葩,里面内容都不知道,怎么截取放到对应的数据库字段
  • 打赏
  • 举报
回复
“格式是固定的,就是一开始,我不知道,有几个分号,也不知道里面的内容是什么” 这个奇葩,里面内容都不知道,怎么截取放到对应的数据库字段
茶暖人凉 2013-12-27
  • 打赏
  • 举报
回复
引用 6 楼 z_dota 的回复:
那你肯定要弄清楚这一列里的值的组成形式是怎么样的,分号前分号后分别要放在拆出来的哪列, 如果什么也不知道,那你可以直接说做不了,谁会做谁做
好吧
Dotar 2013-12-27
  • 打赏
  • 举报
回复
那你肯定要弄清楚这一列里的值的组成形式是怎么样的,分号前分号后分别要放在拆出来的哪列, 如果什么也不知道,那你可以直接说做不了,谁会做谁做
茶暖人凉 2013-12-27
  • 打赏
  • 举报
回复
引用 4 楼 z_dota 的回复:
[quote=引用 3 楼 moyanruo 的回复:] 你这些都是写死的,我数据库只是举个例子,大概里面就是这种格式的数据,具体是什么我也不清楚,所以这样写是不行的
只要你那个字段中的格式是固定的就行了 ,比如该有5个分号的就5个分号 ,如果格式都不一定根本就不好判断 [/quote] 格式是固定的,就是一开始,我不知道,有几个分号,也不知道里面的内容是什么
Dotar 2013-12-27
  • 打赏
  • 举报
回复
引用 3 楼 moyanruo 的回复:
你这些都是写死的,我数据库只是举个例子,大概里面就是这种格式的数据,具体是什么我也不清楚,所以这样写是不行的
只要你那个字段中的格式是固定的就行了 ,比如该有5个分号的就5个分号 ,如果格式都不一定根本就不好判断
茶暖人凉 2013-12-27
  • 打赏
  • 举报
回复

你这些都是写死的,我数据库只是举个例子,大概里面就是这种格式的数据,具体是什么我也不清楚,所以这样写是不行的
Dotar 2013-12-27
  • 打赏
  • 举报
回复
先读取数据库中信息给datata:

 DataTable dt = GetDataTable(“select time,val from 表”);//这边得你自己写如何获取数据库中的
            for (int i = 0; i < dt.Rows.Count; i++)
            {
string[] Alldata = dt.Rows[i][1].ToString().Split(';');

        string AssignTo = Alldata[0];
        string stateid = Alldata[1];
 System.Data.DataTable dtFiles = new System.Data.DataTable();
        
            dtFiles.Columns.Add(new System.Data.DataColumn("时间"));
            dtFiles.Columns.Add(new System.Data.DataColumn("账号"));
         
            dtFiles.Columns.Add(new System.Data.DataColumn("密码"));
            dtFiles.Columns.Add(new System.Data.DataColumn("联系电话"));
            dtFiles.Columns.Add(new System.Data.DataColumn("备注"));
            DirectoryInfo dir = new DirectoryInfo(sourcePath);
            string TpeReport = "";
            foreach (FileInfo files in dir.GetFiles("*.*"))
            {
                System.Data.DataRow drFile = dtFiles.NewRow();
                drFile["时间"] = dt.Rows[i][0].ToString();
                drFile["账号"] = Alldata[0];
                drFile["密码"] = Alldata[1];
                drFile["联系电话"] = Alldata[2] ;
                drFile["备注"] = Alldata[3];
                dtFiles.Rows.Add(drFile);
              
            }
//最后把dtFiles 绑定给页面中的table
加载更多回复(1)

62,041

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

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