VB.NET,Javascript,Telerik, [英] VB.NET, Javascript, Telerik,

查看:74
本文介绍了VB.NET,Javascript,Telerik,的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

1.我在Radcombobox有一个Radtreeview。



 <   telerik:RadComboBox     ID   =  RadComboBox1    runat   =  server    DropDownAutoWidth   = 已启用    宽度  = < span class =code-keyword> 250px    ShowToggleImage   =  True    EmptyMessage   = 选择一个目的地   皮肤  =  WebBlue >  
< ItemTemplate >
< div id = div1 >
< telerik:RadTreeView runat = server ID = RadTreeView1 CheckBoxes < span class =code-keyword> = true OnClientNodeClicked = OnClientNodeClicked OnClientNodeChecked = nodeChecked 宽度 = 100% 皮肤 = WebBlue TriStateCheckBoxes = true > < / telerik:RadTreeView >
< / div >
< / ItemTemplate >
< 项目 >
< telerik:RadComboBoxItem 文本 = > < / telerik:RadComboBoxItem >
< / Items >
< / telerik:RadComboBox < span class =code-keyword>>





2.Client side Codings。



< telerik:RadCodeBlock ID =   RadScriptBlock1 runat =   server > ;  
< script 类型 = text / javascript >
函数StopPropagation(e){
if (!e){
e = window。 event ;
}

e.cancelBubble = true ;
}

函数OnClientDropDownOpenedHandler(sender,eventArgs){
var tree = sender.get_items()。getItem( 0 )。findControl( RadTreeView1 );
var selectedNode = tree.get_selectedNode();
if (selectedNode){
selectedNode.scrollIntoView();
}
}

函数nodeChecked(sender,args){
var comboBox = $ find( <%= RadComboBox1.ClientID%>);
var tempNode = args.get_node();
// 检查全选节点是否已选中/未选中

if (tempNode.get_text()。toString()== (全选)){
// 选中或取消选中所有节点
} else {
var nodes = < span class =code-keyword> new Array();
nodes = sender.get_checkedNodes();
var CbxText = ;
var CbxValues = ;
var i = 0 ;
for (i = 0 ; i < ; nodes.length; i ++){
var n = nodes [i];
var nodeText = n.get_text()。toString();
if (nodeText!= (选择全部)){
var Parentnodes = sender.findNodeByText(nodeText);
if (Parentnodes._hasChildren()== true ){
}
else {
CbxText = CbxText + + n.get_text()。toString();
CbxValues = CbxValues + + n.get_value()。toString();
}
}
}

// prevent结束时的组合
supressDropDownClosing = true ;
CbxText = CbxText.substring( 1 );
CbxValues = CbxValues.substring( 1 );
comboBox.set_text(CbxText);
comboBox.set_value(CbxValues);
}
}

函数OnClientNodeClicked(sender,args){
var comboBox = $ find( <%= RadComboBox1.ClientID%>);
var tempNode = args.get_node();
tempNode.set_checked(tempNode.get_selected());
tempNode.unselect();
// 检查全选节点是否已选中/未选中
if (tempNode.get_text()。toString()== (全选)){
// 选中或取消选中所有节点
} else {
var nodes = new Array();
nodes = sender.get_checkedNodes();
var CbxText = ;
var CbxValues = ;
var i = 0 ;
for (i = 0 ; i < ; nodes.length; i ++){
var n = nodes [i];
var nodeText = n.get_text()。toString();
if (nodeText!= (选择全部)){
var Parentnodes = sender.findNodeByText(nodeText);
if (Parentnodes._hasChildren()== true ){
}
else {
CbxText = CbxText + + n.get_text()。toString();
CbxValues = CbxValues + + n.get_value()。toString();
}
}
}

// prevent结束时的组合

CbxText = CbxText.substring( 1 );
CbxValues = CbxValues.substring( 1 );
comboBox.set_text(CbxText);
comboBox.set_value(CbxValues);
}
}
< / script >
< / telerik:RadCodeBlock >





3.当我检查节点时效果很好。

4.但是当我点击树视图中的节点时,Radcombobox正在关闭。

5.如何避免从客户端关闭关闭

帮助我....

解决方案

find( <%= RadComboBox1.ClientID%>);
var tempNode = args.get_node();
// 检查全选节点是否已选中/未选中

if (tempNode.get_text()。toString()== (全选)){
// 选中或取消选中所有节点
} else {
var nodes = < span class =code-keyword> new Array();
nodes = sender.get_checkedNodes();
var CbxText = ;
var CbxValues = ;
var i = 0 ;
for (i = 0 ; i < ; nodes.length; i ++){
var n = nodes [i];
var nodeText = n.get_text()。toString();
if (nodeText!= (选择全部)){
var Parentnodes = sender.findNodeByText(nodeText);
if (Parentnodes._hasChildren()== true ){
}
else {
CbxText = CbxText + + n.get_text()。toString();
CbxValues = CbxValues + + n.get_value()。toString();
}
}
}

// prevent结束时的组合
supressDropDownClosing = true ;
CbxText = CbxText.substring( 1 );
CbxValues = CbxValues.substring( 1 );
comboBox.set_text(CbxText);
comboBox.set_value(CbxValues);
}
}

函数OnClientNodeClicked(sender,args){
var comboBox =

find( <%= RadComboBox1.ClientID%> );
var tempNode = args.get_node();
tempNode.set_checked(tempNode.get_selected());
tempNode.unselect();
// 检查全选节点是否已选中/未选中
if (tempNode.get_text()。toString()== (全选)){
// 选中或取消选中所有节点
} else {
var nodes = new Array();
nodes = sender.get_checkedNodes();
var CbxText = ;
var CbxValues = ;
var i = 0 ;
for (i = 0 ; i < ; nodes.length; i ++){
var n = nodes [i];
var nodeText = n.get_text()。toString();
if (nodeText!= (选择全部)){
var Parentnodes = sender.findNodeByText(nodeText);
if (Parentnodes._hasChildren()== true ){
}
else {
CbxText = CbxText + + n.get_text()。toString();
CbxValues = CbxValues + + n.get_value()。toString();
}
}
}

// prevent结束时的组合

CbxText = CbxText.substring( 1 );
CbxValues = CbxValues.substring( 1 );
comboBox.set_text(CbxText);
comboBox.set_value(CbxValues);
}
}
< / script >
< / telerik:RadCodeBlock >





3.当我检查节点时效果很好。

4.但是当我点击树视图中的节点时,Radcombobox正在关闭。

5.如何避免从客户端关闭关闭

帮助我....


1.I'm having a Radtreeview in Radcombobox.

<telerik:RadComboBox ID="RadComboBox1" runat="server" DropDownAutoWidth="Enabled" Width="250px" ShowToggleImage="True" EmptyMessage="Choose a destination" Skin="WebBlue">
<ItemTemplate>
<div id="div1">
<telerik:RadTreeView runat="server" ID="RadTreeView1" CheckBoxes="true" OnClientNodeClicked="OnClientNodeClicked" OnClientNodeChecked="nodeChecked" Width="100%" Skin="WebBlue" TriStateCheckBoxes="true"></telerik:RadTreeView>
</div>
</ItemTemplate>
 <Items>
<telerik:RadComboBoxItem Text=""></telerik:RadComboBoxItem>
</Items>
</telerik:RadComboBox>



2.Client side Codings.

<telerik:RadCodeBlock ID="RadScriptBlock1" runat="server">
        <script type="text/javascript">
            function StopPropagation(e) {
                if (!e) {
                    e = window.event;
                }

                e.cancelBubble = true;
            }

            function OnClientDropDownOpenedHandler(sender, eventArgs) {
                var tree = sender.get_items().getItem(0).findControl("RadTreeView1");
                var selectedNode = tree.get_selectedNode();
                if (selectedNode) {
                    selectedNode.scrollIntoView();
                }
            }

            function nodeChecked(sender, args) {
                var comboBox = $find("<%= RadComboBox1.ClientID %>");
                var tempNode = args.get_node();
                //check if 'Select All' node has been checked/unchecked

                if (tempNode.get_text().toString() == "(Select All)") {
                    // check or uncheck all the nodes
                } else {
                    var nodes = new Array();
                    nodes = sender.get_checkedNodes();
                    var CbxText = "";
                    var CbxValues = "";
                    var i = 0;
                    for (i = 0; i < nodes.length; i++) {
                        var n = nodes[i];
                        var nodeText = n.get_text().toString();
                        if (nodeText != "(Select All)") {
                            var Parentnodes = sender.findNodeByText(nodeText);
                            if (Parentnodes._hasChildren() == true) {
                            }
                            else {
                                CbxText = CbxText + "," + n.get_text().toString();
                                CbxValues = CbxValues + "," + n.get_value().toString();
                            }
                        }
                    }

                    //prevent  combo from closing
                    supressDropDownClosing = true;
                    CbxText = CbxText.substring(1);
                    CbxValues = CbxValues.substring(1);
                    comboBox.set_text(CbxText);
                    comboBox.set_value(CbxValues);
                }
            }

            function OnClientNodeClicked(sender, args) {
                var comboBox = $find("<%= RadComboBox1.ClientID %>");
                var tempNode = args.get_node();
                tempNode.set_checked(tempNode.get_selected());
                tempNode.unselect();
                //check if 'Select All' node has been checked/unchecked
                if (tempNode.get_text().toString() == "(Select All)") {
                    // check or uncheck all the nodes
                } else {
                    var nodes = new Array();
                    nodes = sender.get_checkedNodes();
                    var CbxText = "";
                    var CbxValues = "";
                    var i = 0;
                    for (i = 0; i < nodes.length; i++) {
                        var n = nodes[i];
                        var nodeText = n.get_text().toString();
                        if (nodeText != "(Select All)") {
                            var Parentnodes = sender.findNodeByText(nodeText);
                            if (Parentnodes._hasChildren() == true) {
                            }
                            else {
                                CbxText = CbxText + "," + n.get_text().toString();
                                CbxValues = CbxValues + "," + n.get_value().toString();
                            }
                        }
                    }

                    //prevent  combo from closing

                    CbxText = CbxText.substring(1);
                    CbxValues = CbxValues.substring(1);
                    comboBox.set_text(CbxText);
                    comboBox.set_value(CbxValues);
                }
            }
        </script>
    </telerik:RadCodeBlock>



3.When i am Checking the Node its works well.
4.But When i am clicking the node in treeview the Radcombobox is closing.
5.How to avoid Drop down closing from client side
Help me....

解决方案

find("<%= RadComboBox1.ClientID %>"); var tempNode = args.get_node(); //check if 'Select All' node has been checked/unchecked if (tempNode.get_text().toString() == "(Select All)") { // check or uncheck all the nodes } else { var nodes = new Array(); nodes = sender.get_checkedNodes(); var CbxText = ""; var CbxValues = ""; var i = 0; for (i = 0; i < nodes.length; i++) { var n = nodes[i]; var nodeText = n.get_text().toString(); if (nodeText != "(Select All)") { var Parentnodes = sender.findNodeByText(nodeText); if (Parentnodes._hasChildren() == true) { } else { CbxText = CbxText + "," + n.get_text().toString(); CbxValues = CbxValues + "," + n.get_value().toString(); } } } //prevent combo from closing supressDropDownClosing = true; CbxText = CbxText.substring(1); CbxValues = CbxValues.substring(1); comboBox.set_text(CbxText); comboBox.set_value(CbxValues); } } function OnClientNodeClicked(sender, args) { var comboBox =


find("<%= RadComboBox1.ClientID %>"); var tempNode = args.get_node(); tempNode.set_checked(tempNode.get_selected()); tempNode.unselect(); //check if 'Select All' node has been checked/unchecked if (tempNode.get_text().toString() == "(Select All)") { // check or uncheck all the nodes } else { var nodes = new Array(); nodes = sender.get_checkedNodes(); var CbxText = ""; var CbxValues = ""; var i = 0; for (i = 0; i < nodes.length; i++) { var n = nodes[i]; var nodeText = n.get_text().toString(); if (nodeText != "(Select All)") { var Parentnodes = sender.findNodeByText(nodeText); if (Parentnodes._hasChildren() == true) { } else { CbxText = CbxText + "," + n.get_text().toString(); CbxValues = CbxValues + "," + n.get_value().toString(); } } } //prevent combo from closing CbxText = CbxText.substring(1); CbxValues = CbxValues.substring(1); comboBox.set_text(CbxText); comboBox.set_value(CbxValues); } } </script> </telerik:RadCodeBlock>



3.When i am Checking the Node its works well.
4.But When i am clicking the node in treeview the Radcombobox is closing.
5.How to avoid Drop down closing from client side
Help me....


这篇关于VB.NET,Javascript,Telerik,的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆