VB.NET,Javascript,Telerik, [英] VB.NET, Javascript, Telerik,
本文介绍了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屋!
查看全文