日期:2014-05-19  浏览次数:20441 次

第一列字段名,第二列输入框这样的模板列怎么做?
我现在数据表中有这么三列数据:
第一列:英文字段名,第二列中文字段名,第三列字段类型
根据这些数据信息自动生成一个用户录入界面
第一列显示中文字段名,第二列显示输入框(根据字段类型显示是单行文本框,还是多行文本框等,并且,文本框的id为字段类型_英文字段名),怎么来设计模板?

id为字段类型_英文字段名的原因主要为了能根据字段名和字段类型来保存数据,请问我这样设计是否合理(主要想做一个通用的录入、修改程序,这样就不必为每个表一一设计录入、修改等程序)?

如果一个网站有很多表,你们是如何设计后台管理的,有没有弄一个通用的程序?
这样做有什么问题吗?
请高手谈谈经验!

------解决方案--------------------
有做过,但不够灵活,后来不用了
------解决方案--------------------
dataGrid
------解决方案--------------------
用DetailsView控件直接绑定就可以
------解决方案--------------------
datagrid模拟表
------解决方案--------------------
if exists (select * from dbo.sysobjects where id = object_id(N '[dbo].[t_sys_FieldsDetail] ') and OBJECTPROPERTY(id, N 'IsUserTable ') = 1) drop table [dbo].[t_sys_FieldsDetail] GO CREATE TABLE [dbo].[t_sys_FieldsDetail] ( [FId] [int] IDENTITY (1, 1) NOT NULL , [FTableName] [varchar] (50) COLLATE Chinese_PRC_CI_AS NOT NULL , [FName] [varchar] (50) COLLATE Chinese_PRC_CI_AS NOT NULL , [FDescription] [varchar] (50) COLLATE Chinese_PRC_CI_AS NULL , [FAlias] [varchar] (50) COLLATE Chinese_PRC_CI_AS NOT NULL , [FCore] [char] (1) COLLATE Chinese_PRC_CI_AS NOT NULL , [FIndex] [int] NOT NULL , [FLinkName] [varchar] (50) COLLATE Chinese_PRC_CI_AS NULL , [FLinkField] [varchar] (50) COLLATE Chinese_PRC_CI_AS NULL , [FDataType] [int] NULL , [FPrecision] [int] NULL , [FDefaultValue] [varchar] (50) COLLATE Chinese_PRC_CI_AS NULL , [FRequired] [char] (1) COLLATE Chinese_PRC_CI_AS NULL , [FReadOnly] [char] (1) COLLATE Chinese_PRC_CI_AS NULL , [FControls] [int] NULL , [FDictType] [int] NULL , [FVisible] [char] (1) COLLATE Chinese_PRC_CI_AS NULL , [FScale] [int] NULL , [FAlign] [char] (1) COLLATE Chinese_PRC_CI_AS NULL , [FWidth] [int] NULL , [FDescColor] [char] (10) COLLATE Chinese_PRC_CI_AS NULL , [FValueColor] [char] (10) COLLATE Chinese_PRC_CI_AS NULL , [FValidType] [char] (1) COLLATE Chinese_PRC_CI_AS NULL , [FValidation] [int] NULL , [FIsEvent] [char] (1) COLLATE Chinese_PRC_CI_AS NULL , [FEventType] [char] (10) COLLATE Chinese_PRC_CI_AS NULL , [FEvent] [varchar] (50) COLLATE Chinese_PRC_CI_AS NULL , [FDefault] [bit] NULL , [FDictTabName] [varchar] (20) COLLATE Chinese_PRC_CI_AS NULL ) ON [PRIMARY] GO
------解决方案--------------------
帮顶..
------解决方案--------------------
id是你服务端能识别的,在经过编译后传输给前台的话还会跟你包装的
这个id是客户端id
可以想象,如果你使用datagrid的模版并添加了textbox,如果没作特殊处理,那么每个textbox的id都是一样的默认都是textbox1,现在。net帮你作了,所以会出现那个名字
------解决方案--------------------
楼上,怎么不让它出现这个名字?---什么名字啊?
还有个问题动态加载的textbox控件怎么没保存到VIEWSTATE中去呀,当我点击添加按钮,通过遍历textbox控件来获得用户添加的数据,发现居然找不到textbox控件,怎么办呀?
首先你得清楚页面的生命周期,建议你看下这个系列的文章
http://www.cnblogs.com/cathsfz/archive/2006/11/19/564929.html