仓酷云

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 773|回复: 8
打印 上一主题 下一主题

[学习教程] 来一篇关于NET的SmartGrid中下拉列DropDownListColumn列利用实例

[复制链接]
简单生活 该用户已被删除
跳转到指定楼层
楼主
发表于 2015-1-16 14:21:31 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
你觉得数据库怎么样?在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[element.selectedIndex].value;
       
        //假如有贮存value的列,则将以后选择项的值放到该列中
        if(valColumn!=null)
        {
grid.setCellValue(r,valColumn,val);
        }
       
        returnelement.options[element.selectedIndex].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的下拉列终究完成了!呵呵,那你就关注微软的招聘信息以及别人的招聘经验啊,还有也不一定去做技术的,你如果真的想去就多了解了解。(其实我的意思是说想到微软做技术是很不容易的。
爱飞 该用户已被删除
沙发
发表于 2015-1-18 13:29:14 | 只看该作者
由于JSP/Servlet都是基于Java的,所以它们也有Java语言的最大优点——平台无关性,也就是所谓的“一次编写,随处运行(WORA–WriteOnce,RunAnywhere)”。除了这个优点,JSP/Servlet的效率以及安全性也是相当惊人的。
灵魂腐蚀 该用户已被删除
板凳
发表于 2015-1-23 12:40:43 | 只看该作者
asp.net空间的支持有:ASP.NET1.1/虚拟目录/MicrosoftFrontPage2000扩展/CDONTS,同时他的网站上也提供了Asp.net的使用详解和程序源代码,相信对使用ASP.NET编程的程序员来说会非常有用哦!
再现理想 该用户已被删除
地板
发表于 2015-1-31 16:52:03 | 只看该作者
asp.net空间的支持有:ASP.NET1.1/虚拟目录/MicrosoftFrontPage2000扩展/CDONTS,同时他的网站上也提供了Asp.net的使用详解和程序源代码,相信对使用ASP.NET编程的程序员来说会非常有用哦!
变相怪杰 该用户已被删除
5#
发表于 2015-2-6 21:34:44 | 只看该作者
主流网站开发语言之PHPHP的全名非常有趣,它是一个巢状的缩写名称——“PHP:HypertextPreprocessor”,打开缩写还是缩写。PHP是一种HTML内嵌式的语言(就像上面讲的ASP那样)。而PHP独特的语法混合了C,Java,Perl以及PHP式的新语法。它可以比CGI或者Perl更快速地执行动态网页。
小魔女 该用户已被删除
6#
发表于 2015-2-18 20:53:24 | 只看该作者
能产生和执行动态、交互式、高效率的站占服务器的应用程序。运用ASP可将VBscript、javascript等脚本语言嵌入到HTML中,便可快速完成网站的应用程序,无需编译,可在服务器端直接执行。容易编写。
蒙在股里 该用户已被删除
7#
发表于 2015-3-6 11:06:40 | 只看该作者
对于中小项目来说.net技术是完全可以胜任,但为什么现在大型公司或网站都选择php或java呢?就是因为微软不够开放,没有提供从硬件到应用服务器再到业务应用的整套解决方案。
冷月葬花魂 该用户已被删除
8#
发表于 2015-3-13 01:07:08 | 只看该作者
由于CGI程序每响应一个客户就会打开一个新的进程,所以,当有多个用户同时进行CGI请求的时候,服务器就会打开多个进程,这样就加重了服务器的负担,使服务器的执行效率变得越来越低下。
海妖 该用户已被删除
9#
发表于 2015-3-20 08:39:33 | 只看该作者
以上是语言本身的弱点,在功能方面ASP同样存在问题,第一是功能太弱,一些底层操作只能通过组件来完成,在这点上是远远比不上PHP/JSP,其次就是缺乏完善的纠错/调试功能,这点上ASP/PHP/JSP差不多。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|仓酷云 鄂ICP备14007578号-2

GMT+8, 2024-12-23 20:25

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表