|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
前天傍晚我发表了《Java的跨平台就是一句谎言。》,原本就是周末闲来无事,发表一篇略带争议性的博文让大家都来吵吵架,发表自己的看法,根本就没想着谁把谁打倒,一个行业或者是技术阵营是无法用短期口水仗打到对手的。在SmartGrid控件中,我们要怎样来界说CheckBoxColumn列的选择与作废选择事务呢?如今入手下手该功效的演示:
1、呼应前台事务
1,为要呼应Checked事务的列绑定一个htc文件。代码以下:
<SmartWeb:CheckBoxColumnColumnName="IsSelected"HeaderText="选择"EditorClientScriptUrl="../../htc/Check.htc"/>
2,在htc文件中触发事务,代码以下:
<scriptlanguage="javascript">
element.onclick=Click;
functionClick(){
debugger;
vargridobj=
element.parentElement.parentElement.parentNode.parentNode.parentNode.parentNode.parentNode.parentNode.parentNode.par
entNode.parentNode;
varrowindex=element.parentNode.parentNode.parentNode.rowIndex;
varKeyFieldNameValue=gridobj.getCellValue(rowindex,"ID");
if(element.checked){
alert("这是htc测试:你选择了第"+(rowindex+1)+"行,该行的ID值为"+KeyFieldNameValue+"");
}
else{
alert("这是htc测试:你作废选择了第"+(rowindex+1)+"行,该行的ID值为"+KeyFieldNameValue+"");
}
}
</script>
从下面示例中能够看到,我们不但能够猎取到用户是选择(或作废选择)了那一行数据。然后还能够经由过程getCellValue办法来猎取该行的任何字段的值。十分的便利。
3,在页面文件中触发事务。
假如我们必要将用户选择(或作废选择)的办法放到页面下去界说,那末能够在htc指定呼应事务,然后在页面下去界说事务,先改写htc中的代码以下:
<scriptlanguage="javascript">
element.onclick=web_Click;
functionweb_Click(){
vargridobj=
element.parentElement.parentElement.parentNode.parentNode.parentNode.parentNode.parentNode.parentNode.parentNode.par
entNode.parentNode;
varrowindex=element.parentNode.parentNode.parentNode.rowIndex;
webClick(gridobj,(rowindex+1),element.checked)
}
</script>
在下面代码中能够看到,我们先在htc猎取到了smartgrid的端客户工具和用户操纵的行号,再和用户的操纵(选择仍是作废选择)一同传送到webClick办法中,那末接上去,我们只必要在页面中界说webClick事务就能够了,示比方下:
<scripttype="text/javascript"language="javascript">
functionwebClick(grid,row,checked){
varKeyFieldNameValue=grid.getCellValue(row,"ID");
if(checked){
alert("这是页面测试:你选择了第"+row+"行,该行的ID值为"+KeyFieldNameValue+"");
}
else{
alert("这是页面测试:你作废选择了第"+row+"行,该行的ID值为"+KeyFieldNameValue+"");
}
}
</script>
2、呼应背景事务
以上两个办法都能够呼应前台事务,那末我们怎样完成用户选择或作废选择时回发页面,呼应背景事务呢?实在也很复杂,在页面上放一个帮助按钮,再使用__doPostBack办法,就可以轻松完成。好比,我们将下面的htc代码改写以下:
<scriptlanguage="javascript">
element.onclick=Click;
functionClick(){
__doPostBack(帮助按钮的客户端ID,);
}
</script>
如许,我们就完成了背景回发事务。c语言的编译器,几乎是所有新平台都有的。因此从这点上看,c语言的程序,比其他任何语言更加容易跨平台。 |
|