|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
我之所以想学。NET,是因为一直觉的BILLGATES好厉害,希望有一天能去微软,虽然现在还距离遥远,呵呵:)在SmartGrid控件中存在CheckBoxColumn范例列,该列供应一个选择框供用户选择“是”与“否”的功效。但假如我们控件中存在很多行数据,而让用户一行一行的来选择是否是太累了了。如果我们能供应一个“全选”的功效就太好了。
自己用的是SmartGrid老版本,也好久没有存眷SmartGrid的新版本了。假如新版本中已有了该功效,呵呵,人人就不必往下看了。
本章次要使用js来完成“全选”的功效,全体代码以下:
<%@PageLanguage="C#"AutoEventWireup="true"CodeBehind="Default.aspx.cs"Inherits="Demo._Default"%>
<%@RegisterAssembly="Smart.Web.UI.WebControls.SmartGrid"Namespace="Smart.Web.UI.WebControls"
TagPrefix="SmartWeb"%>
<htmlxmlns="http://www.w3.org/1999/xhtml">
<headrunat="server">
<title></title>
<scripttype="text/javascript"language="javascript">
functionBatchSetCheckColumn(s,e){
varTargetCols=s.TargetCols;
vargrid=document.getElementById(s.GridName);
for(vari=0;i<grid.rowCount;i++){
grid.setCellValue(i,TargetCols,newString(e.srcElement.checked));
}
}
</script>
</head>
<body>
<formid="form1"runat="server">
<SmartWeb:SmartGridID="SmartGrid1"runat="server"ColumnSizeable="true"ColumnMovable="true"
Height="200px"ReadOnly="false"DataKeyField="ID"Width="300px">
<Columns>
<SmartWeb:CheckBoxColumnColumnName="A"HeaderText="是不是全选<inputtype=checkboxonclick=BatchSetCheckColumn(this,event)TargetCols=AGridName=SmartGrid1_div/>"/>
</Columns>
</SmartWeb:SmartGrid>
</form>
</body>
</html>
完成功效图以下:
很复杂的几句代码,我们注释一下:
<SmartWeb:CheckBoxColumnColumnName="A"HeaderText="是不是全选<inputtype=checkboxonclick=BatchSetCheckColumn(this,event)TargetCols=AGridName=SmartGrid1_div/>"/>
在这段代码中,我们为HeaderText增加了一个input,范例为checkbox,如许就能够在列头显现一个选择框了。再为该input设置onclick事务,该事务实行名为BatchSetCheckColumn的js办法。同时必要为input增加两个自界说属性TargetCols与GridName,感化分离以下:
1,TargetCols属性:界说在用户点击该列头上的input时,改动SmartGrid那一列的数据。这里是改动统一列的数据,以是将它设置为本列的列名“A”。
2,GridName属性:该属性为SmartGrid的客户端ID,我们能够在天生的页面的html源码中找到它的值。使用它,我们能够在js中疾速找到SmartGrid工具。
js代码就未几注释了,假如有对setCellValue不懂得的话,能够参看上面教程:
SmartGrid教程(四):数据与行操纵在经过全球个人PC市场占有90%的微软对asp.net不断优化与整合后,asp.net与微软自身平台的动用上更加的高效,加上asp.net在应用上非常容易上手,相信asp.net仍会是最多客户选用的脚本语言,并会在未来几年继续领跑。 |
|