来一篇关于NET的为SmartGrid控件自界说格局化单位格数据
以前很热炒跨平台,主要是由于硅谷挑战微软霸主地位的热情,但是冷静下来后,跨平台往往不是那么一回事。假设你有个软件,所谓的跨平台,你只需要为第二个平台上重新编译一次就行了,这样很难么?在SmartGrid控件的列供应了Format属性来让我们格局化单位格中的数据,但这个属功能完成的效果无限,假如一些绝对庞大的格局化需求就没法完成了,这章我们就演示假如使用FormatFunction函数来格局化单位格数据。本章我们要完成的功效是:
假如我们在SmartGrid的列中填进一个年夜于0的数字时,数字以白色显现,假如我们在SmartGrid的列中填进一个小于0的数字时,数字以绿色显现。
经由过程这个示例演示怎样自界说单位格中的数据格局。
起首在页面放进一个SmartGrid控件,并为列"price"设置FormatFunction属性的值。
<SmartWeb:SmartGridID="SmartGrid1"runat="server"ReadOnly="false"DataKeyField="ID"AllowDelete="true"AllowAdd="true">
<Columns>
<SmartWeb:TextBoxColumnColumnName="price"HeaderText="单价"FormatFunction="myformat"
DataType="System.Decimal"/>
</Columns>
</SmartWeb:SmartGrid>
然后在页面的js中界说FormatFunction办法:
<scripttype="text/javascript"language="javascript">
functionmyformat(val,format,digits){
if(parseInt(val)>0){
return"<fontcolor=red>"+val+"</font>";
}
elseif(parseInt(val)<0){
return"<fontcolor=green>"+val+"</font>";
}
returnval;
}
</script>
运转页面,并在SmartGrid的Price分离填进数字1,0,-1,可看到效果以下:
页面按我们的请求以白色显现了1,绿色显现了-1,测试乐成!
能够看到下面的myformat办法中有三个参数,意义分离以下:
val--以后单位格的值,
format--SmartGridColumn类Format属性值
digits--SmartGridColumn类Scale属性值
有伴侣说,FormatFunction是否是只要在可编纂的列中才无效呢?固然不是,我们能够将上例中的TextBoxColumn列改成SmartGridColumn列,并在背景为SmartGrid中赋值看效果。
<SmartWeb:SmartGridID="SmartGrid1"runat="server"ReadOnly="false"DataKeyField="ID"AllowDelete="true"AllowAdd="true">
<Columns>
<SmartWeb:SmartGridColumnColumnName="price"HeaderText="单价"FormatFunction="myformat"
DataType="System.Decimal"/>
</Columns>
</SmartWeb:SmartGrid>
然后在背景为SmartGrid赋值:
protectedvoidPage_Load(objectsender,EventArgse)
{
DataTabledt=newDataTable();
dt.Columns.Add("price",typeof(decimal));
dt.Rows.Add(1);
dt.Rows.Add(0);
dt.Rows.Add(-1);
this.SmartGrid1.DataSource=dt;
this.SmartGrid1.DataBind();
}
效果以下:
测试乐成,申明FormatFunction对SmartGridColumn一样是无效的。
注重:只要设置了列的DataType为非字符范例(如System.Decimal、System.DateTime)才可挪用FormatFunction格局化函数。
我想上位伴侣是否是由于健忘设置DataType属性而使设置有效呢:),再细心测试一下吧。一个很大的类库。应用程序之所以难以跨平台,在于直接调用了特定平台的接口,而一个巨大的类库,就能极大地减少应用程序对平台的依赖。 ASP.NET可以无缝地与WYSIWYGHTML编辑器和其他编程工具(包括MicrosoftVisualStudio.NET)一起工作。这不仅使得Web开发更加方便,而且还能提供这些工具必须提供的所有优点,包括开发人员可以用来将服务器控件拖放到Web页的GUI和完全集成的调试支持。微软为ASP.net设计了这样一些策略:易于写出结构清晰的代码、代码易于重用和共享、可用编译类语言编写等等,目的是让程序员更容易开发出Web应用,满足计算向Web转移的战略需要。 但是java靠开源打出的一片天地,特别是在微软的垄断下能打开今天的局面还是有它的生命力的。 主流网站开发语言之ASP:ASP是微软(Microsoft)所开发的一种后台脚本语言,它的语法和VisualBASIC类似,可以像SSI(ServerSideInclude)那样把后台脚本代码内嵌到HTML页面中。虽然ASP简单易用,但是它自身存在着许多缺陷,最重要的就是安全性问题。 是指转换后的Servlet程序代码的行数。这给调试代码带来一定困难。所以,在排除错误时,可以采取分段排除的方法(在可能出错的代码前后输出一些字符串,用字符串是否被输出来确定代码段从哪里开始出错)。 目前在微软的.net战略中新推出的ASP.net借鉴了Java技术的优点,使用CSharp(C#)语言作为ASP.net的推荐语言,同时改进了以前ASP的安全性差等缺点。但是,使用ASP/ASP.net仍有一定的局限性,因为从某种角度来说它们只能在微软的WindowsNT/2000/XP+IIS的服务器平台上良好运行(虽然像ChilliSoft提供了在UNIX/Linux上运行ASP的解决方案. Servlet的形式和前面讲的CGI差不多,它是HTML代码和后台程序分开的。它们的启动原理也差不多,都是服务器接到客户端的请求后,进行应答。不同的是,CGI对每个客户请求都打开一个进程(Process)。 逐步缩小出错代码段的范围,最终确定错误代码的位置。 提供基于组件、事件驱动的可编程网络表单,大大简化了编程。还可以用ASP.NET建立网络服务。
页:
[1]