当前位置:编程学习 > C#/ASP.NET >>

动态增加表中数据列的问题

我的界面中有一张Table表,表中已知的有四列,这四列固定不动的显示数据,由于项目要求,需要实现用户后台动态的在此四列之后追加其想要自定义的数据列1-6列不等,并且添加保存这几列数据,以便下次再次读取

请教各位高手给我点思路吧,谢谢各位 --------------------编程问答-------------------- 后台界面跟前台界面是一个??  如果不是一样,你绑定2次就OK了呀。。Repeater前台页面绑定你固定的4个数据。。  后台界面用Repeater 绑定自己需要的其他数据。只要不是一个页面就OK了。如果是一个页面。你可上页面上显示2个Repeater,一个是前台显示。一个后台显示。。  嘿嘿。   其他的也没想到。。 表格不通其他的。不能具体到那一列显示或者不显示。 --------------------编程问答-------------------- LZ 你好。

我想问下你具体的要求。。

1.他动态添加列,这列的字段从哪来,数据从哪来?

2.如果说不同用户对应该表,字段不同。那你得改表结构。或者先添加一张表。   

我有一个思路,不知道适不适合你。。只提供参考。

具体步骤:
数据库设计:
1.创建一张表【用户字段信息】、该表的用途是来保存用户编号、原始字段、新增加字段、字段分类(某个用户添加这些字段,属于哪个分类)、字段描述。方便动态的在GridView中显示数据。
2.添加另一张表【用户字段内容信息】该表主要字段。用户编号、字段名称、字段内容、字段分类(某个用户添加这些字段,属于哪个分类)。该表的好处是,不管用户添加几列,不管多少用户添加。所有的字段、值都存储在这表中。

界面设计:
1.做一个用户添加字段的界面。也就是说该用户要添加哪些字段。用户添加时一般是中文,所以中文保存到表【用户字段信息】、的字段描述中、程序用到的字段,你可以随机生成如(用户+字段分类+F1....等) 

2.做一个用户自定义字段,所要添加内容的界面。这个简单。直接在第一张表查询该用户所拥有字段。放在Repeater或GridView上,这在用户做添加内容、修改内容、删除内容操作、  内容值存放在【用户字段内容信息】表中。

3.主界面显示数据、这两张表关联。查询某用户、字段、及字段内容。。Repeater的Title就可以直接从第一张表中获取字段描述就好。

注意:如果你那固定表的数据如果要、你得把数据转到新表中。。也就是手动搬到【用户字段内容信息】
 表中。因为他是所有用户可见的。那【用户字段信息】、用户编号设置一个特殊值就好。
然而查询每次把这值查出来。
--------------------编程问答-------------------- 还有很多细节 问题就没写了。。。这只是一个大体的设计。。。 --------------------编程问答-------------------- javascript动态添加行,然后javascript动态获得行的数据,保存在隐藏域里面,最后后台获取,把数据解释出来,加入数据库 --------------------编程问答-------------------- 设计数据库表的时候就可以实现,可以建两个关联的表,一个表a用来存储用户添加的字段(可以为用户添加的列的汉字拼音或根据自己设定的格式来添加),另一个表b用来存储a表中字段所对应的值,至于lz说的前面固定的四列,你可以默认的添加这四个字段的数据到a表及b表中。读取的时候来关联一下就可以实现lz所说的需求。 --------------------编程问答-------------------- 动态构建DataTable

DEMO

 DataTable Dt_News = new DataTable();
            Dt_News.Columns.Add("New_ID");
            Dt_News.Columns.Add("New_Title");
           
            for (int i = 0; i < 10; i++)
            {
                DataRow dr = Dt_News.NewRow();
                dr[0] = i;
                dr[1] = "Title" + i;
                Dt_News.Rows.Add(dr);
                Ht_News.Add(i, dr[1].ToString());
            }
--------------------编程问答-------------------- 版主牛,寥寥几句就搞定了。
补充:.NET技术 ,  ASP.NET
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,