来一篇关于NET的SmartGrid中下拉列DropDownListColumn列利用实例
你觉得数据库怎么样?在SmartGrid的实践利用中,假如必要用户输出的数据是流动几项的,那末最好把这个列做成DropDownListColumn列,一是便利用户疾速输出数据,二是制止用户手动输出毛病的信息。那末我们怎样在SmartGrid中绑定DropDownListColumn列呢?从DropDownListColumn列的类名我们就能够看出来,这一列的体现情势是与DropDownList一样的。DropDonwList有两个次要的属性,一个是Text,一个Value,Text值次要用来显现给用户看,而Value次要用来存储实践的值。好比一个用来存储区域的DropDownList控件,显现值有”长沙”,”深圳”,”北京”,而这三个区域在数据库中大概只是存储它们的编码”001”,”002”,”003”,那末我们就是用ListItem将它们组合起来。
一样,DropDownListColumn列也必要另外一个列来共同存储该列的实践的值,固然,假如你的DropDownListColumn的显现值与实践值是一样的,就能够不必要另外一个列来存储值了。
假如有对SmartGrid列还不太分明的伴侣,能够下载本站的SmartGrid匡助文档,以便查阅。
上面我们来做一个详细的实例:
SmartGrid列便可以在aspx页增加,也能够在cs页,经由过程背景代码增加,本实例我们次要解说在cs页用背景程序的办法增加.在aspx页增加的体例就一下带已往了,以下面代码:
<SmartWeb:SmartGridID="grid"runat="server"AllowAdd="False"AllowDelete="True"DataKeyField="ID">
<Columns>
<SmartWeb:DropDownListColumnColumnName="address"HeaderText="区域"EditMode="Embedding"
EditorClientScriptUrl="../../htc/droplist.htc"ExtendedProperties="<?xmlversion=1.0?><InfovalueColumn=addressvalue/>"/>
</Columns>
</SmartWeb:SmartGrid>
次要我们从背景增加,以下代码:
//声明一个DropDownListColumn列
SmartGridColumncol==newDropDownListColumn();
//将该列增加到SmartGrid中,grid为SmartGrid的ID。
this.grid.Columns.Add(col);
col.ColumnName="address";
col.HeaderText="地点";
//设置该列的htc文件,htc是SmartGrid中一个十分主要的文件,我们良多的功效都是在htc文件中
col.EditorClientScriptUrl="htc/Mydropdownlist.htc";
//下句代码中valueColumn属性设置用来存储该列的实践值的列,我们在取下拉列的实践值时,就要取valueColumn设置的列的值
col.ExtendedProperties="<?xmlversion=1.0?><InfovalueColumn=addressvalue/>";
//初始化该列的下拉框
DropDownListl=col.ControlEditorasDropDownList;
l.Items.Add(newListItem("长沙","001"));
l.Items.Add(newListItem("深圳","002"));
l.Items.Add(newListItem("北京","003"));
//初始化addressvalue列
SmartGridColumncol=col=newSmartGridColumn();
this.grid.Columns.Add(col);
col.HeaderText="区域编号";
col.ColumnName="addressvalue";
col.Visible=false;//把这一列埋没改起来,不让用户看到
如许,我们就把一个DropDownListColumn列初始化好并增加到SmartGrid中了。但这时候的address值其实不能和addressvalue联动起来。还必要htc文件撑持。上面我们看看htc文件:
<scriptlanguage="javascript">//列表框一样平常有两个值,一个是Text,一个是value。valColumn指明存储选择的value的Grid列
varvalColumn=null;
varextendedProp=element.extendedProperties;
if(typeof(extendedProp)!="undefined")
{
vardom=newActiveXObject("MSXML.DOMDocument");
dom.loadXML(extendedProp);
valColumn=dom.documentElement.getAttribute("valueColumn");
}
//当分开编纂时,依据编纂器的内容给相干的单位格赋值
functiongetValue()
{
varr=grid.row;
varval=element.options.value;
//假如有贮存value的列,则将以后选择项的值放到该列中
if(valColumn!=null)
{
grid.setCellValue(r,valColumn,val);
}
returnelement.options.text;
}
//当进进编纂时,依据以后单位格的内容,给编纂器赋值
functionsetValue(vVal)
{
varr=grid.row;
varval=vVal;
//假如有贮存value的列,则从该单位格取值
if(valColumn!=null)
{
val=grid.getCellValue(r,valColumn);
}
varoptions=element.options;
varlength=options.length;
for(vari=0;i<length;i++)
{
varoption=options;
if(option.value==val)
{
option.selected=true;
return;
}
}
}
</script>
从下面代码中能够看出来,在htc中,利用了SmartGrid的getCellValue与setCellValue办法,将两列的值真实的联动起来了。
好了,一个SmartGrid的下拉列终究完成了!呵呵,那你就关注微软的招聘信息以及别人的招聘经验啊,还有也不一定去做技术的,你如果真的想去就多了解了解。(其实我的意思是说想到微软做技术是很不容易的。 由于JSP/Servlet都是基于Java的,所以它们也有Java语言的最大优点——平台无关性,也就是所谓的“一次编写,随处运行(WORA–WriteOnce,RunAnywhere)”。除了这个优点,JSP/Servlet的效率以及安全性也是相当惊人的。 asp.net空间的支持有:ASP.NET1.1/虚拟目录/MicrosoftFrontPage2000扩展/CDONTS,同时他的网站上也提供了Asp.net的使用详解和程序源代码,相信对使用ASP.NET编程的程序员来说会非常有用哦! asp.net空间的支持有:ASP.NET1.1/虚拟目录/MicrosoftFrontPage2000扩展/CDONTS,同时他的网站上也提供了Asp.net的使用详解和程序源代码,相信对使用ASP.NET编程的程序员来说会非常有用哦! 主流网站开发语言之PHP:PHP的全名非常有趣,它是一个巢状的缩写名称——“PHP:HypertextPreprocessor”,打开缩写还是缩写。PHP是一种HTML内嵌式的语言(就像上面讲的ASP那样)。而PHP独特的语法混合了C,Java,Perl以及PHP式的新语法。它可以比CGI或者Perl更快速地执行动态网页。 能产生和执行动态、交互式、高效率的站占服务器的应用程序。运用ASP可将VBscript、javascript等脚本语言嵌入到HTML中,便可快速完成网站的应用程序,无需编译,可在服务器端直接执行。容易编写。 对于中小项目来说.net技术是完全可以胜任,但为什么现在大型公司或网站都选择php或java呢?就是因为微软不够开放,没有提供从硬件到应用服务器再到业务应用的整套解决方案。 由于CGI程序每响应一个客户就会打开一个新的进程,所以,当有多个用户同时进行CGI请求的时候,服务器就会打开多个进程,这样就加重了服务器的负担,使服务器的执行效率变得越来越低下。 以上是语言本身的弱点,在功能方面ASP同样存在问题,第一是功能太弱,一些底层操作只能通过组件来完成,在这点上是远远比不上PHP/JSP,其次就是缺乏完善的纠错/调试功能,这点上ASP/PHP/JSP差不多。
页:
[1]