自定义DataControlField,简化开发

本文介绍了一种通过自定义DataField来简化ASP.NET GridView控件中TemplateField使用的方法,有效减少了重复性工作并提高了开发效率。

    作Asp.net的开发的都知道,从DataGrid到GridView,都支持Template Column,功能是在太强了,可以说没有做不到,只有想不到!可是如果功能强大了必然意味着用起来麻烦,可是大多数的时候,BoundField都是不能满足要求的,你会说用TemplateField啊,没错,用模板列确实可以轻易的解决问题,可是你看下面代码:

< Columns >
                    
< asp:CommandField  ShowEditButton ="True"  ShowDeleteButton ="True"   />
                    
< asp:BoundField  DataField ="DataId"  HeaderText ="DataId"  ReadOnly ="True"  SortExpression ="DataId"
                        Visible
="False"  InsertVisible ="False"   />
                    
< asp:TemplateField  HeaderText ="编码"  SortExpression ="ClientId" >
                        
< edititemtemplate >
< asp:TextBox  runat ="server"  Text ='<%#  Bind("ClientId") % > '  MaxLength="4" columns="4" onfocus="this.select();"  id="TextBox1"> </ asp:TextBox >
</ edititemtemplate >
                        
< itemtemplate >
< asp:Label  runat ="server"  Text ='<%#  Bind("ClientId") % > ' id="Label1"> </ asp:Label >
</ itemtemplate >
                    
</ asp:TemplateField >
                    
< asp:TemplateField  HeaderText ="说明"  SortExpression ="ClientName" >
                        
< edititemtemplate >
< asp:TextBox  runat ="server"  Text ='<%#  Bind("ClientName") % > '  MaxLength="20" columns="20" id="TextBox2"> </ asp:TextBox >
</ edititemtemplate >
                        
< itemtemplate >
< asp:Label  runat ="server"  Text ='<%#  Bind("ClientName") % > '  id="Label2"> </ asp:Label >
</ itemtemplate >
                    
</ asp:TemplateField >
                
</ Columns >

这只是为了实现限制输入宽度〔否则默认用BoundField在编辑状态下,是在是太宽了,破坏了界面的布局〕,就使用了模板列。这还只是一个简单的表的编辑,只有3个字段,如果是一个几十个字段的表,包含各种类型的字段输入,要编辑起来还真是麻烦,而且有很多重复性的工作,这简直就是简单枯燥的体力劳动!
    穷则思变,经过参考一些资料,我把一些常用的字段类型封装成了自定义的DataField,然后直接在GridView中使用,您还别说,2005的代码提示还真不是盖的,对自定义的DataField的支持非常的好(只有一个缺点:不能使用Columns的那个设计界面了,只能改标记代码),您在看看下面这段:

< columns >
    
< yh:TextField  DataField ="DataId"  HeaderText ="DataId"  InsertVisible ="False"  ReadOnly ="True"     SortExpression ="DataId"  Visible ="False"   />
    
< yh:DictionaryField  HeaderText ="分公司"  DataField ="SaleCoId"  SortExpression ="SaleCoId"  Tables ="td_saleco"  ValueFields ="salecoid"  DisplayFields ="SaleCoName" />
    
< yh:DateTimeField  HeaderText ="发货日期"  DataField ="SendDate"  SortExpression ="SendDate"  ReadOnly ="True"   ShowTime ="False"  UseLongFormat ="True"   />
    
< yh:NumericField  HeaderText ="Fc"  DataField ="TestFC"  SortExpression ="TestFC"  InsertVisible ="False"  Visible ="False" />
    
< yh:DictionaryField  HeaderText ="客户"  DataField ="CustomerId"  SortExpression ="CustomerId"  ValueFields ="CustomerId"  DisplayFields ="CustomerName"  Tables ="Td_Customer" />
    
< yh:StateField  HeaderText ="是否内销"  DataField ="InteriorFlag"  SortExpression ="InteriorFlag"  KeyValuePairs ="0:外销,1:内销"   />
</ columns >

怎么样,是不是觉得清爽了很多!
至于怎么样实现,这可是我公司的版权不能外传! 对了,请你参考这段文章Custom Data Control Fields,人家比我说得清楚多了,我就是从那学来的:)

转载于:https://www.cnblogs.com/dajianshi/archive/2006/06/26/436478.html

在车辆工程中,悬架系统的性能评估和优化一直是研究的热点。悬架不仅关乎车辆的乘坐舒适性,还直接影响到车辆的操控性和稳定性。为了深入理解悬架的动态行为,研究人员经常使用“二自由度悬架模型”来简化分析,并运用“传递函数”这一数学工具来描述悬架系统的动态特性。 二自由度悬架模型将复杂的车辆系统简化为两个独立的部分:车轮和车身。这种简化模型能够较准确地模拟出车辆在垂直方向上的运动行为,同时忽略了侧向和纵向的动态影响,这使得工程师能够更加专注于分析与优化与垂直动态相关的性能指标。 传递函数作为控制系统理论中的一种工具,能够描述系统输入和输出之间的关系。在悬架系统中,传递函数特别重要,因为它能够反映出路面不平度如何被悬架系统转化为车内乘员感受到的振动。通过传递函数,我们可以得到一个频率域上的表达式,从中分析出悬架系统的关键动态特性,如系统的振幅衰减特性和共振频率等。 在实际应用中,工程师通过使用MATLAB这类数学软件,建立双质量悬架的数学模型。模型中的参数包括车轮质量、车身质量、弹簧刚度以及阻尼系数等。通过编程求解,工程师可以得到悬架系统的传递函数,并据此绘制出传递函数曲线。这为评估悬架性能提供了一个直观的工具,使工程师能够了解悬架在不同频率激励下的响应情况。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值