使用ComponentArt.Web.UI的 ComboBox控件 + TreeView控件做成 用户控件 树形下拉菜单,
当在上一个页面选择过数据,到不同的页面有这个控件时还会选择相同的值,新页面设置新的数据源也没有变化,好像客户端没有刷新似的。这个如何解决,或指出问题所在。主要就是根据父级单位显示下级单位的下拉列表框下面是代码<%@ Control Language="C#" AutoEventWireup="true" CodeBehind="XQDM_DDLT.ascx.cs" Inherits="wyzhxt.web.UserControl.XQDM_DDLT" %><%@ Register assembly="ComponentArt.Web.UI" namespace="ComponentArt.Web.UI" tagprefix="ComponentArt" %>
<script type="text/javascript">
//<![CDATA[
function TreeView1_onNodeSelect(sender, eventArgs) {
<%=ComboBox1.ClientID %>.set_text(eventArgs.get_node().get_text());
<%=ComboBox1.ClientID %>.collapse();
}
//]]>
</script>
<div > <ComponentArt:ComboBox id="ComboBox1" runat="server"
KeyboardEnabled="false"
AutoFilter="false"
AutoHighlight="true"
AutoComplete="false"
AutoTheming="true"
DropDownContentCssClass="dropDownContent"
Width="300px" ClientIDMode="AutoID">
<DropDownContent>
<ComponentArt:TreeView id="TreeView1"
DragAndDropEnabled="false"
NodeEditingEnabled="false"
KeyboardEnabled="false"
LineImageWidth="19"
LineImageHeight="20"
DefaultImageWidth="16"
DefaultImageHeight="16"
ItemSpacing="0"
NodeLabelPadding="3"
ImagesBaseUrl="/images/treeview/"
LineImagesFolderUrl="/images/treeview/lines/"
ParentNodeImageUrl="folders.gif"
LeafNodeImageUrl="folder.gif"
ShowLines="true"
EnableViewState="True"
AutoTheming="true" Height="100%"
runat="server" CollapseNodeOnSelect="False" ExpandNodeOnSelect="False" ClientIDMode="Inherit">
<ClientEvents>
<NodeSelect EventHandler="TreeView1_onNodeSelect" />
</ClientEvents>
</ComponentArt:TreeView> </DropDownContent>
</ComponentArt:ComboBox> </div>
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using FrameWork;namespace wyzhxt.web.UserControl
{
public partial class XQDM_DDLT : System.Web.UI.UserControl//ComponentArt.Web.UI.ComboBoxContent //System.Web.UI.UserControl
{
public delegate void KingDDLFormEventHandler(object sender, EventArgs e);
public event KingDDLFormEventHandler KingDDLTSelectedIndexChanged; protected web.UserControl.WebKingDDLT U_DDLT;
protected web.UserControl.WebKingDDLT U_DDLT_OK = null; BLL.Manager.DHCB02 XQDM = new BLL.Manager.DHCB02();
BLL.Manager.DHCB01 SQDM = new BLL.Manager.DHCB01(); private static string _ParentSQDM = "";
private static string _SelectedValue = "";
private static string _Text = "";
/// <summary>
/// 父级单位代码
/// </summary>
public string ParentSQDM
{
get
{
return _ParentSQDM;
}
set
{
_ParentSQDM = value; }
} /// <summary>
/// 选择的值SelectedValue,如果设置请设置Text
/// </summary>
public string SelectedValue
{
get
{
return _SelectedValue;
}
set
{
_SelectedValue = value;
if (_SelectedValue != string.Empty)
{
//TreeView1.SelectedNode = TreeView1.FindNodeById(_SelectedValue);
this.ComboBox1.SelectedValue = _SelectedValue; } }
}
/// <summary>
/// 选择的值Text,如果设置请设置Text
/// </summary>
public string Text
{
get
{
return _Text;
}
set
{
_Text = value;
//this.ComboBox1.Text = _Text;
}
} /// <summary>
/// AutoPostBack
/// </summary>
public Boolean AutoPostBack
{
get
{
return this.ComboBox1.AutoPostBack;
}
set
{
this.ComboBox1.AutoPostBack = value;
//bindDDL(DropDownList1, _intParentID, "");
}
}
protected void Page_Load(object sender, EventArgs e)
{ if (!IsPostBack)
{
TreeView1.Nodes.Clear();
System.Data.DataSet ds0 = new System.Data.DataSet(); //if (UserData.GetUserDate.U_Type == 0)//超级用户显示全部
//{
// ParentSQDM = "";
//}
ds0 = SQDM.GetList(" SQ_DM like '" + ParentSQDM + "%' order by SQ_DM "); if (ParentSQDM == "")
{
ComponentArt.Web.UI.TreeViewNode nodeS = new ComponentArt.Web.UI.TreeViewNode();
nodeS.ID = "000";
nodeS.Text = "请选择小区!";
nodeS.Value = "";
nodeS.ToolTip = "";
TreeView1.Nodes.Add(nodeS);
}
for (int i = 0; i < ds0.Tables[0].Rows.Count; i++)
{
ComponentArt.Web.UI.TreeViewNode node0 = new ComponentArt.Web.UI.TreeViewNode();
node0.ID = ds0.Tables[0].Rows[i]["SQ_DM"].ToString();
node0.Text = ds0.Tables[0].Rows[i]["SQ_MC"].ToString();
node0.Value = ds0.Tables[0].Rows[i]["SQ_DM"].ToString();
node0.ToolTip = "简称:" + ds0.Tables[0].Rows[i]["SQ_JC"].ToString() + " 代码:" + ds0.Tables[0].Rows[i]["SQ_DM"].ToString();
TreeView1.Nodes.Add(node0);
bindDDLT(node0.ID, node0);//载入子节点
} ComboBox1.Text = _Text;
TreeView1.SelectedNode = TreeView1.FindNodeById(_SelectedValue); } if (TreeView1.SelectedNode != null) _SelectedValue = TreeView1.SelectedNode.Value;
_Text = ComboBox1.Text;
} /// <summary>
/// 绑定ComboBox1
/// </summary>
private void bindDDLT(string P_DWDM, ComponentArt.Web.UI.TreeViewNode ParentNode)
{
//int TotalRecord = 0;
System.Data.DataSet ds = new System.Data.DataSet(); ds = XQDM.GetListByCache(" SQ_DM='" + P_DWDM + "' order by XQ_DM "); for (int i =0;i < ds.Tables[0].Rows.Count;i++ )
{
ComponentArt.Web.UI.TreeViewNode node = new ComponentArt.Web.UI.TreeViewNode();
node.ID = ds.Tables[0].Rows[i]["XQ_DM"].ToString();
node.Text = ds.Tables[0].Rows[i]["XQ_MC"].ToString();
node.Value = ds.Tables[0].Rows[i]["XQ_DM"].ToString();
node.ToolTip = "小区代码:" + ds.Tables[0].Rows[i]["XQ_DM"].ToString();
//TreeView1.FindNodeById(ParentDWDM).Nodes.;
ParentNode.Nodes.Add(node);
//TreeView1.node //bindDDLT(DQ_CJ + 1, node.ID, node);
}
}
protected void ComboBox1_SelectedIndexChanged(object sender, EventArgs e)
{
if (ComboBox1.AutoPostBack) KingDDLTSelectedIndexChanged(sender, e);
}
}
}
当在上一个页面选择过数据,到不同的页面有这个控件时还会选择相同的值,新页面设置新的数据源也没有变化,好像客户端没有刷新似的。这个如何解决,或指出问题所在。主要就是根据父级单位显示下级单位的下拉列表框下面是代码<%@ Control Language="C#" AutoEventWireup="true" CodeBehind="XQDM_DDLT.ascx.cs" Inherits="wyzhxt.web.UserControl.XQDM_DDLT" %><%@ Register assembly="ComponentArt.Web.UI" namespace="ComponentArt.Web.UI" tagprefix="ComponentArt" %>
<script type="text/javascript">
//<![CDATA[
function TreeView1_onNodeSelect(sender, eventArgs) {
<%=ComboBox1.ClientID %>.set_text(eventArgs.get_node().get_text());
<%=ComboBox1.ClientID %>.collapse();
}
//]]>
</script>
<div > <ComponentArt:ComboBox id="ComboBox1" runat="server"
KeyboardEnabled="false"
AutoFilter="false"
AutoHighlight="true"
AutoComplete="false"
AutoTheming="true"
DropDownContentCssClass="dropDownContent"
Width="300px" ClientIDMode="AutoID">
<DropDownContent>
<ComponentArt:TreeView id="TreeView1"
DragAndDropEnabled="false"
NodeEditingEnabled="false"
KeyboardEnabled="false"
LineImageWidth="19"
LineImageHeight="20"
DefaultImageWidth="16"
DefaultImageHeight="16"
ItemSpacing="0"
NodeLabelPadding="3"
ImagesBaseUrl="/images/treeview/"
LineImagesFolderUrl="/images/treeview/lines/"
ParentNodeImageUrl="folders.gif"
LeafNodeImageUrl="folder.gif"
ShowLines="true"
EnableViewState="True"
AutoTheming="true" Height="100%"
runat="server" CollapseNodeOnSelect="False" ExpandNodeOnSelect="False" ClientIDMode="Inherit">
<ClientEvents>
<NodeSelect EventHandler="TreeView1_onNodeSelect" />
</ClientEvents>
</ComponentArt:TreeView> </DropDownContent>
</ComponentArt:ComboBox> </div>
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using FrameWork;namespace wyzhxt.web.UserControl
{
public partial class XQDM_DDLT : System.Web.UI.UserControl//ComponentArt.Web.UI.ComboBoxContent //System.Web.UI.UserControl
{
public delegate void KingDDLFormEventHandler(object sender, EventArgs e);
public event KingDDLFormEventHandler KingDDLTSelectedIndexChanged; protected web.UserControl.WebKingDDLT U_DDLT;
protected web.UserControl.WebKingDDLT U_DDLT_OK = null; BLL.Manager.DHCB02 XQDM = new BLL.Manager.DHCB02();
BLL.Manager.DHCB01 SQDM = new BLL.Manager.DHCB01(); private static string _ParentSQDM = "";
private static string _SelectedValue = "";
private static string _Text = "";
/// <summary>
/// 父级单位代码
/// </summary>
public string ParentSQDM
{
get
{
return _ParentSQDM;
}
set
{
_ParentSQDM = value; }
} /// <summary>
/// 选择的值SelectedValue,如果设置请设置Text
/// </summary>
public string SelectedValue
{
get
{
return _SelectedValue;
}
set
{
_SelectedValue = value;
if (_SelectedValue != string.Empty)
{
//TreeView1.SelectedNode = TreeView1.FindNodeById(_SelectedValue);
this.ComboBox1.SelectedValue = _SelectedValue; } }
}
/// <summary>
/// 选择的值Text,如果设置请设置Text
/// </summary>
public string Text
{
get
{
return _Text;
}
set
{
_Text = value;
//this.ComboBox1.Text = _Text;
}
} /// <summary>
/// AutoPostBack
/// </summary>
public Boolean AutoPostBack
{
get
{
return this.ComboBox1.AutoPostBack;
}
set
{
this.ComboBox1.AutoPostBack = value;
//bindDDL(DropDownList1, _intParentID, "");
}
}
protected void Page_Load(object sender, EventArgs e)
{ if (!IsPostBack)
{
TreeView1.Nodes.Clear();
System.Data.DataSet ds0 = new System.Data.DataSet(); //if (UserData.GetUserDate.U_Type == 0)//超级用户显示全部
//{
// ParentSQDM = "";
//}
ds0 = SQDM.GetList(" SQ_DM like '" + ParentSQDM + "%' order by SQ_DM "); if (ParentSQDM == "")
{
ComponentArt.Web.UI.TreeViewNode nodeS = new ComponentArt.Web.UI.TreeViewNode();
nodeS.ID = "000";
nodeS.Text = "请选择小区!";
nodeS.Value = "";
nodeS.ToolTip = "";
TreeView1.Nodes.Add(nodeS);
}
for (int i = 0; i < ds0.Tables[0].Rows.Count; i++)
{
ComponentArt.Web.UI.TreeViewNode node0 = new ComponentArt.Web.UI.TreeViewNode();
node0.ID = ds0.Tables[0].Rows[i]["SQ_DM"].ToString();
node0.Text = ds0.Tables[0].Rows[i]["SQ_MC"].ToString();
node0.Value = ds0.Tables[0].Rows[i]["SQ_DM"].ToString();
node0.ToolTip = "简称:" + ds0.Tables[0].Rows[i]["SQ_JC"].ToString() + " 代码:" + ds0.Tables[0].Rows[i]["SQ_DM"].ToString();
TreeView1.Nodes.Add(node0);
bindDDLT(node0.ID, node0);//载入子节点
} ComboBox1.Text = _Text;
TreeView1.SelectedNode = TreeView1.FindNodeById(_SelectedValue); } if (TreeView1.SelectedNode != null) _SelectedValue = TreeView1.SelectedNode.Value;
_Text = ComboBox1.Text;
} /// <summary>
/// 绑定ComboBox1
/// </summary>
private void bindDDLT(string P_DWDM, ComponentArt.Web.UI.TreeViewNode ParentNode)
{
//int TotalRecord = 0;
System.Data.DataSet ds = new System.Data.DataSet(); ds = XQDM.GetListByCache(" SQ_DM='" + P_DWDM + "' order by XQ_DM "); for (int i =0;i < ds.Tables[0].Rows.Count;i++ )
{
ComponentArt.Web.UI.TreeViewNode node = new ComponentArt.Web.UI.TreeViewNode();
node.ID = ds.Tables[0].Rows[i]["XQ_DM"].ToString();
node.Text = ds.Tables[0].Rows[i]["XQ_MC"].ToString();
node.Value = ds.Tables[0].Rows[i]["XQ_DM"].ToString();
node.ToolTip = "小区代码:" + ds.Tables[0].Rows[i]["XQ_DM"].ToString();
//TreeView1.FindNodeById(ParentDWDM).Nodes.;
ParentNode.Nodes.Add(node);
//TreeView1.node //bindDDLT(DQ_CJ + 1, node.ID, node);
}
}
protected void ComboBox1_SelectedIndexChanged(object sender, EventArgs e)
{
if (ComboBox1.AutoPostBack) KingDDLTSelectedIndexChanged(sender, e);
}
}
}
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货