【实现】表单控件的UI布局,实现方式
2008-08-10 10:05
441 查看
一、先说一下表单控件要实现的功能吧。
1、绘制UI,包括表格(Table)的绘制,也就是TR 、TD,TR是多少行,TD是有多少列;包括子控件的控件,TextBox、DropDownList、CheckBoxList等控件的加载、描述(宽度、最大字符数、填充item)等。
2、提取用户输入的数据,拼接参数化的SQL语句,给存储过程的参数赋值。
3、把存储过程的名称(参数化SQL)、存储过程的参数,通过“我的数据访问函数库”提交给数据库执行。
4、在显示数据和修改数据的时候,可以从数据库显示数据进行控件绑定。就是显示数据。
5、支持两种保存数据的方式:参数化SQL和存储过程。
6、可以向SQL Server2000、SQL Server2005、Access、Excel数据库里添加、修改数据,已测试。
7、可以向OleDb、ODBC连接的数据库添加、修改数据,只对Access、Excel进行了测试,没有测试其他的数据库。
8、表格的样式交给CSS来控制。
9、可以单列、也可以多列(通过属性来控制),在“多列”显示的时候,如果最后一行字段不够的话,可以自动补充TD。见图7。
表单控件的有点:
1、自动生成子控件(文本框、下拉列表框等)
2、当数据库的字段有变化的时候,只需要修改一个地方就可以搞定,不用到许多的地方修改。
3、不用做过多的测试,因为每一个项目、每一个添加、修改的地方都在测试这个控件,到最后就可以不用测试了。
二、说一下表格的绘制,也就是TR TD的处理。可以支持四种显示方式。
1、单列。所有的字段都在“一列”里面显示。图1
2、多列。 图2 、 图3
3、一个字段占多个TD。图4 、 图5
4、多个字段占用一个TD。图6
5、可以综合应用。图8
图片演示:
private void aa()
protected override void CreateChildControls()
public override void DataBind()
public void GetInputValue()
Code
private void AddParameter()
{
//根据配置信息添加存储过程(参数化SQL语句)需要的参数。
BaseColumnsInfo bInfo;
dal.LoadParameter();
foreach (KeyValuePair<int, BaseColumnsInfo> info in dic_BaseCols)
{
bInfo = (BaseColumnsInfo)info.Value;
switch (bInfo.ColType)
{
case "bigint":
dal.ParameterMgr.AddNewParameter("@" + bInfo.ColSysName, Int64.Parse(bInfo.DataValue));
break;
case "tinyint":
case "smallint":
case "int":
dal.ParameterMgr.AddNewParameter("@" + bInfo.ColSysName , Int32.Parse(bInfo.DataValue));
break;
case "uniqueidentifier":
case "char":
case "nchar":
case "varchar":
case "nvarchar":
dal.ParameterMgr.AddNewParameter("@" + bInfo.ColSysName, bInfo.DataValue,bInfo.ColSize);
break;
case "text":
case "ntext":
dal.ParameterMgr.AddNewParameter("@" + bInfo.ColSysName, bInfo.DataValue);
break;
case "real":
case "float":
dal.ParameterMgr.AddNewParameter("@" + bInfo.ColSysName, double.Parse(bInfo.DataValue));
break;
case "numeric":
case "smallmoney":
case "money":
case "decimal":
dal.ParameterMgr.AddNewParameter("@" + bInfo.ColSysName, decimal.Parse(bInfo.DataValue));
break;
case "smalldatetime":
case "datetime":
dal.ParameterMgr.AddNewParameter("@" + bInfo.ColSysName, DateTime.Parse(bInfo.DataValue));
break;
default : //
//dal.ParameterMgr.AddNewParameter("@" + bInfo.ColSysName, Int32.Parse(bInfo.DataValue));
break;
}
}
}
1、绘制UI,包括表格(Table)的绘制,也就是TR 、TD,TR是多少行,TD是有多少列;包括子控件的控件,TextBox、DropDownList、CheckBoxList等控件的加载、描述(宽度、最大字符数、填充item)等。
2、提取用户输入的数据,拼接参数化的SQL语句,给存储过程的参数赋值。
3、把存储过程的名称(参数化SQL)、存储过程的参数,通过“我的数据访问函数库”提交给数据库执行。
4、在显示数据和修改数据的时候,可以从数据库显示数据进行控件绑定。就是显示数据。
5、支持两种保存数据的方式:参数化SQL和存储过程。
6、可以向SQL Server2000、SQL Server2005、Access、Excel数据库里添加、修改数据,已测试。
7、可以向OleDb、ODBC连接的数据库添加、修改数据,只对Access、Excel进行了测试,没有测试其他的数据库。
8、表格的样式交给CSS来控制。
9、可以单列、也可以多列(通过属性来控制),在“多列”显示的时候,如果最后一行字段不够的话,可以自动补充TD。见图7。
表单控件的有点:
1、自动生成子控件(文本框、下拉列表框等)
2、当数据库的字段有变化的时候,只需要修改一个地方就可以搞定,不用到许多的地方修改。
3、不用做过多的测试,因为每一个项目、每一个添加、修改的地方都在测试这个控件,到最后就可以不用测试了。
二、说一下表格的绘制,也就是TR TD的处理。可以支持四种显示方式。
1、单列。所有的字段都在“一列”里面显示。图1
2、多列。 图2 、 图3
3、一个字段占多个TD。图4 、 图5
4、多个字段占用一个TD。图6
5、可以综合应用。图8
图片演示:
private void aa()
protected override void CreateChildControls()
public override void DataBind()
public void GetInputValue()
Code
private void AddParameter()
{
//根据配置信息添加存储过程(参数化SQL语句)需要的参数。
BaseColumnsInfo bInfo;
dal.LoadParameter();
foreach (KeyValuePair<int, BaseColumnsInfo> info in dic_BaseCols)
{
bInfo = (BaseColumnsInfo)info.Value;
switch (bInfo.ColType)
{
case "bigint":
dal.ParameterMgr.AddNewParameter("@" + bInfo.ColSysName, Int64.Parse(bInfo.DataValue));
break;
case "tinyint":
case "smallint":
case "int":
dal.ParameterMgr.AddNewParameter("@" + bInfo.ColSysName , Int32.Parse(bInfo.DataValue));
break;
case "uniqueidentifier":
case "char":
case "nchar":
case "varchar":
case "nvarchar":
dal.ParameterMgr.AddNewParameter("@" + bInfo.ColSysName, bInfo.DataValue,bInfo.ColSize);
break;
case "text":
case "ntext":
dal.ParameterMgr.AddNewParameter("@" + bInfo.ColSysName, bInfo.DataValue);
break;
case "real":
case "float":
dal.ParameterMgr.AddNewParameter("@" + bInfo.ColSysName, double.Parse(bInfo.DataValue));
break;
case "numeric":
case "smallmoney":
case "money":
case "decimal":
dal.ParameterMgr.AddNewParameter("@" + bInfo.ColSysName, decimal.Parse(bInfo.DataValue));
break;
case "smalldatetime":
case "datetime":
dal.ParameterMgr.AddNewParameter("@" + bInfo.ColSysName, DateTime.Parse(bInfo.DataValue));
break;
default : //
//dal.ParameterMgr.AddNewParameter("@" + bInfo.ColSysName, Int32.Parse(bInfo.DataValue));
break;
}
}
}
相关文章推荐
- 【实现】表单控件的UI布局,实现方式
- Android UI控件之CheckBox实现墨迹天气设置布局界面(漂亮)
- 深入浅出android/ophone UI实现水平布局的Tab控件
- Android UI控件之CheckBox实现墨迹天气设置布局界面(漂亮)
- 深入浅出android/ophone UI实现水平布局的Tab控件 Tabwidget在左边/右边
- 动态加载布局和控件的方式实现动态加载(用listView解决EditText问题挺麻烦)
- 深入浅出android/ophone UI实现水平布局的Tab控件
- Android中自定义控件之飞入飞出布局及随机布局实现方式
- 活动被回收的处理、活动的启动模式、一键退出所有活动、UI控件、四种布局方式、自定义控件
- UI控件之监听器的四种实现方式
- iOS开发之UI控件——UIPickerView实现点菜系统界面布局
- asp.net中使用自定义控件的方式实现一个分页控件的代码
- Android中多个UI控件实现滚动
- [转]Joomla! 1.5中form表单的实现方式
- angularjs实现对表单输入改变的监控(ng-change和watch两种方式)
- UI碎片控件之Fragment——底部导航栏的实现(方法1)
- Vue 表单控件绑定的实现示例
- SystemUI之功能介绍和UI布局实现
- 实现顶部轮播,下部listview经典布局的两种方式
- WinForm界面开发之布局控件"WeifenLuo.WinFormsUI.Docking"的使用