ComponentArt:ComboBox 绑定值的方法

样式:

<mce:style type="text/css"><!-- .comboBox { border: 1px solid #A6A7AA; background-color: white; } .comboBoxHover { border: 1px solid #555555; background-color: white; } .comboDropDown { border: 1px solid #868686; background-color: white; padding: 1px; padding-right: 0px; cursor: default; } .comboTextBox { border: 0px; padding-left: 2px; padding-right: 2px; background-color: white; } .comboTextBoxHover { background-color: #B2B4BF; } .comboItem { font-family: Verdana; font-size: 11px; padding: 3px; padding-top: 4px; padding-bottom: 4px; } .comboItemHover { font-family: Verdana; font-size: 11px; border-bottom: 1px solid #4B4B6F; border-top: 1px solid #4B4B6F; padding: 3px; padding-top: 3px; padding-bottom: 3px; cursor: pointer; } .comboItemSelect { background-color: #FFEEC2; font-family: Verdana; font-size: 11px; border: 1px solid #4B4B6F; padding: 3px; padding-top: 3px; padding-bottom: 3px; cursor: pointer; } --></mce:style><style type="text/css" mce_bogus="1"> .comboBox { border: 1px solid #A6A7AA; background-color: white; } .comboBoxHover { border: 1px solid #555555; background-color: white; } .comboDropDown { border: 1px solid #868686; background-color: white; padding: 1px; padding-right: 0px; cursor: default; } .comboTextBox { border: 0px; padding-left: 2px; padding-right: 2px; background-color: white; } .comboTextBoxHover { background-color: #B2B4BF; } .comboItem { font-family: Verdana; font-size: 11px; padding: 3px; padding-top: 4px; padding-bottom: 4px; } .comboItemHover { font-family: Verdana; font-size: 11px; border-bottom: 1px solid #4B4B6F; border-top: 1px solid #4B4B6F; padding: 3px; padding-top: 3px; padding-bottom: 3px; cursor: pointer; } .comboItemSelect { background-color: #FFEEC2; font-family: Verdana; font-size: 11px; border: 1px solid #4B4B6F; padding: 3px; padding-top: 3px; padding-bottom: 3px; cursor: pointer; } </style>

comboBox的js取值:

一)componentArt控件在js取值都不需要document.getElementById(),直接用的id

例如<componentArt:combox id="cb_comboBox" runat="server"/>

1.if(cb_comboBox .getSelectedItem() ==null||cb_comboBox .SelectedIndex == 0)
{
alert("请选择分公司名称!")
cb_comboBox .focus();
return false;
}

2.cb_comboBox.get_text().Trim()

二)设置值:cb_comboBox.set_text(carNumber);

三)启用:cb_comboBox.enable();

四)禁用: cb_comboBox.disable();

一般的绑定:类型dropdownlist,只是显示

js验证是否选中://注:用compantArt的comboBox控件是直接取值的,不需要根据document.getElementById取得id if (cb_filiale.SelectedIndex == "0") { alert("请选择所属分公司!"); cb_filiale.focus(); return false; }页面: <ComponentArt:ComboBox ID="cb_filiale" runat="server" Width="174px" AutoHighlight="false" AutoComplete="true" AutoFilter="true" DataTextField="公司名称" DataValueField="ID" CssClass="comboBox" HoverCssClass="comboBoxHover" FocusedCssClass="comboBoxHover" TextBoxCssClass="comboTextBox" DropDownCssClass="comboDropDown" ItemCssClass="comboItem" ItemHoverCssClass="comboItemHover" SelectedItemCssClass="comboItemSelect" DropHoverImageUrl="../App_Themes/images/combox/drop_hover.gif" DropImageUrl="../App_Themes/images/combox/drop.gif" TextBoxEnabled="false" />后台: /// <summary> /// 绑定所属分公司 /// </summary> /// <param name="comboBox"></param> private void bindFiliale(ComboBox comboBox) { comboBox.Items.Clear(); string filter = string.Empty; if (LoginUser.UserBranch != "0") { filter = string.Format("{0}='{1}'", 分公司信息.Col_ID, LoginUser.UserBranch); } ObjModelDataSource<分公司信息> source = new ObjModelDataSource<分公司信息>(DataSourceType.全部读取, filter); source.AddCandidate(分公司信息.Col_ID, 分公司信息.Col_公司名称); source.OrderStr = string.Format("{0} asc", 分公司信息.Col_排序); DataSet ds = source.DataObjectSource; DataRow row = ds.Tables[0].NewRow(); row[分公司信息.Col_ID] = "-1"; row[分公司信息.Col_公司名称] = "--请选择所属分公司--"; ds.Tables[0].Rows.InsertAt(row, 0); comboBox.DataSource = ds; comboBox.DataBind(); comboBox.SelectedIndex = 0; }查询: if (cbFiliale.SelectedValue != "-1") { filter += " and " + string.Format(VIEW_车辆分组.Col_公司名称 + " = '{0}'", cbFiliale.SelectedItem.Text);}//初始化值: cb_filiale.SelectedValue = "-1";添加(把选中的id插入数据库): carGroup.分公司ID = cb_filiale.SelectedValue;赋值(把值显示在页面): cb_filiale.SelectedValue = carGroup.分公司ID;

两级联动:

方法一(全部用callback包含起来):js: //根据省的变化显示市 function showCity(sender, eventArgs) { callback_goalAddress.Callback("showCity", sender.getSelectedItem().get_value()); }页面:<td align="right" nowrap> 目的地: </td> <td colspan="3"> <ComponentArt:CallBack ID="callback_goalAddress" runat="server" PostState="true" OnCallback="callback_goalAddress_Callback"> <Content> <asp:PlaceHolder ID="ph_goalAddress" runat="server"> <table> <tr> <td> <ComponentArt:ComboBox ID="cb_province" runat="server" Width="150px" AutoHighlight="false" AutoComplete="true" AutoFilter="true" DataValueField="ID" DataTextField="NAME" CssClass="comboBox" HoverCssClass="comboBoxHover" FocusedCssClass="comboBoxHover" TextBoxCssClass="comboTextBox" DropDownCssClass="comboDropDown" ItemCssClass="comboItem" ItemHoverCssClass="comboItemHover" SelectedItemCssClass="comboItemSelect" DropHoverImageUrl="../App_Themes/Default/images/combox/drop_hover.gif" DropImageUrl="../App_Themes/Default/images/combox/drop.gif" TextBoxEnabled="false"> <ClientEvents> <Change EventHandler="showCity" /> </ClientEvents> </ComponentArt:ComboBox> </td> <td> — </td> <td> <ComponentArt:ComboBox ID="cb_city" runat="server" Width="150px" AutoHighlight="false" AutoComplete="true" AutoFilter="true" DataValueField="ID" DataTextField="NAME" CssClass="comboBox" HoverCssClass="comboBoxHover" FocusedCssClass="comboBoxHover" TextBoxCssClass="comboTextBox" DropDownCssClass="comboDropDown" ItemCssClass="comboItem" ItemHoverCssClass="comboItemHover" SelectedItemCssClass="comboItemSelect" DropHoverImageUrl="../App_Themes/Default/images/combox/drop_hover.gif" DropImageUrl="../App_Themes/Default/images/combox/drop.gif" TextBoxEnabled="false" /> </td> </tr> </table> </asp:PlaceHolder> </Content> </ComponentArt:CallBack> </td>后台: protected void Page_Load(object sender, EventArgs e) { if (!IsPostBack) { if (!Grid_List.IsCallback && !CallBack_Serch.IsCallback) { showProvince(); enabledCity(); } } } /// <summary> /// 根据省来判断市是否禁用 /// </summary> private void enabledCity() { if (cb_province.SelectedValue == "-1") { cb_city.SelectedValue = "-1"; cb_city.Enabled = false; } else { cb_city.Enabled = true; } } /// <summary> /// 显示省 /// </summary> private void showProvince() { cb_province.Items.Clear(); ObjModelDataSource<SHSYS_T_COMM_PROVINCE> objCity = new ObjModelDataSource<SHSYS_T_COMM_PROVINCE>(); objCity.AddCandidate(SHSYS_T_COMM_PROVINCE.Col_ID, SHSYS_T_COMM_PROVINCE.Col_NAME); DataSet ds = objCity.DataObjectSource; DataRow row = ds.Tables[0].NewRow(); row[SHSYS_T_COMM_PROVINCE.Col_ID] = "-1"; row[SHSYS_T_COMM_PROVINCE.Col_NAME] = "--请选择省--"; ds.Tables[0].Rows.InsertAt(row, 0); cb_province.DataSource = ds; cb_province.DataBind(); cb_province.SelectedIndex = 0; } /// <summary> /// 显示市 /// </summary> /// <param name="provinceId"></param> private void showCity(string provinceId) { enabledCity(); cb_city.Items.Clear(); string filter = string.Format(SHSYS_T_COMM_CITY.Col_PROVINCE + "='{0}'", provinceId); ObjModelDataSource<SHSYS_T_COMM_CITY> objCity = new ObjModelDataSource<SHSYS_T_COMM_CITY>(filter); objCity.AddCandidate(SHSYS_T_COMM_CITY.Col_ID, SHSYS_T_COMM_CITY.Col_NAME); DataSet ds = objCity.DataObjectSource; DataRow row = ds.Tables[0].NewRow(); row[SHSYS_T_COMM_CITY.Col_ID] = "-1"; row[SHSYS_T_COMM_CITY.Col_NAME] = "--请选择市区--"; ds.Tables[0].Rows.InsertAt(row, 0); cb_city.DataSource = ds; cb_city.DataBind(); cb_city.SelectedIndex = 0; } //目的地:省与市的联动 protected void callback_goalAddress_Callback(object sender, ComponentArt.Web.UI.CallBackEventArgs e) { string js = string.Empty; string[] parameter = e.Parameters; switch (parameter[0]) { case "showCity": showCity(parameter[1]); break; default: break; } ph_goalAddress.RenderControl(e.Output); if (!string.IsNullOrEmpty(js)) { e.Output.Write(js); } }方法2(只是动的那部分用callback): //根据装货地省的变化显示市 function showLoadCity(sender, eventArgs) { callback_loadAddress.Callback("showLoadCity", sender.getSelectedItem().get_value()); } <td align="right" nowrap class="tdWidth"> 装货地: </td> <td> <ComponentArt:ComboBox ID="cb_loadProvince" runat="server" Width="150px" AutoHighlight="false" AutoComplete="true" AutoFilter="true" DataValueField="ID" DataTextField="NAME" CssClass="comboBox" HoverCssClass="comboBoxHover" FocusedCssClass="comboBoxHover" TextBoxCssClass="comboTextBox" DropDownCssClass="comboDropDown" ItemCssClass="comboItem" ItemHoverCssClass="comboItemHover" SelectedItemCssClass="comboItemSelect" DropHoverImageUrl="../App_Themes/Default/images/combox/drop_hover.gif" DropImageUrl="../App_Themes/Default/images/combox/drop.gif" TextBoxEnabled="false"> <ClientEvents> <Change EventHandler="showLoadCity" /> </ClientEvents>后台:加载方法: showProvince(cb_loadProvince); enabledCity(cb_loadProvince, cb_loadCity); /// <summary> /// 根据省来判断市是否禁用 /// </summary> private void enabledCity(ComboBox cb_province, ComboBox cb_city) { if (cb_province.SelectedValue == "-1") { cb_city.SelectedIndex = 0; cb_city.Enabled = false; } else { cb_city.Enabled = true; } } /// <summary> /// 显示省 /// </summary> private void showProvince(ComboBox cb_province) { cb_province.Items.Clear(); ObjModelDataSource<SHSYS_T_COMM_PROVINCE> objCity = new ObjModelDataSource<SHSYS_T_COMM_PROVINCE>(); objCity.AddCandidate(SHSYS_T_COMM_PROVINCE.Col_ID, SHSYS_T_COMM_PROVINCE.Col_NAME); DataSet ds = objCity.DataObjectSource; DataRow row = ds.Tables[0].NewRow(); row[SHSYS_T_COMM_PROVINCE.Col_ID] = "-1"; row[SHSYS_T_COMM_PROVINCE.Col_NAME] = "--请选择省--"; ds.Tables[0].Rows.InsertAt(row, 0); cb_province.DataSource = ds; cb_province.DataBind(); cb_province.SelectedIndex = 0; } /// <summary> /// 显示市 /// </summary> /// <param name="provinceId"></param> private void showCity(ComboBox cb_province, ComboBox cb_city, string provinceId) { enabledCity(cb_province, cb_city); cb_city.Items.Clear(); string filter = string.Format(SHSYS_T_COMM_CITY.Col_PROVINCE + "='{0}'", provinceId); ObjModelDataSource<SHSYS_T_COMM_CITY> objCity = new ObjModelDataSource<SHSYS_T_COMM_CITY>(filter); objCity.AddCandidate(SHSYS_T_COMM_CITY.Col_ID, SHSYS_T_COMM_CITY.Col_NAME); DataSet ds = objCity.DataObjectSource; DataRow row = ds.Tables[0].NewRow(); row[SHSYS_T_COMM_CITY.Col_ID] = "-1"; row[SHSYS_T_COMM_CITY.Col_NAME] = "--请选择市区--"; ds.Tables[0].Rows.InsertAt(row, 0); cb_city.DataSource = ds; cb_city.DataBind(); cb_city.SelectedIndex = 0; } //装货地:省与市的联动 protected void callback_loadAddress_Callback(object sender, ComponentArt.Web.UI.CallBackEventArgs e) { string[] parameter = e.Parameters; switch (parameter[0]) { case "showLoadCity": showCity(cb_loadProvince, cb_loadCity, parameter[1]); break; default: break; } ph_loadAddress.RenderControl(e.Output); } </ComponentArt:ComboBox> </td> <td> — </td> <td> <ComponentArt:CallBack ID="callback_loadAddress" runat="server" PostState="true" OnCallback="callback_loadAddress_Callback"> <Content> <asp:PlaceHolder ID="ph_loadAddress" runat="server"> <ComponentArt:ComboBox ID="cb_loadCity" runat="server" Width="150px" AutoHighlight="false" AutoComplete="true" AutoFilter="true" DataValueField="ID" DataTextField="NAME" CssClass="comboBox" HoverCssClass="comboBoxHover" FocusedCssClass="comboBoxHover" TextBoxCssClass="comboTextBox" DropDownCssClass="comboDropDown" ItemCssClass="comboItem" ItemHoverCssClass="comboItemHover" SelectedItemCssClass="comboItemSelect" DropHoverImageUrl="../App_Themes/Default/images/combox/drop_hover.gif" DropImageUrl="../App_Themes/Default/images/combox/drop.gif" TextBoxEnabled="false" /> </asp:PlaceHolder> </Content> </ComponentArt:CallBack> </td>

绑定枚举:

页面:<ComponentArt:ComboBox ID="cb_state" runat="server" AutoHighlight="false" AutoComplete="true" AutoFilter="true" CssClass="comboBox" HoverCssClass="comboBoxHover" FocusedCssClass="comboBoxHover" TextBoxCssClass="comboTextBox" DropDownCssClass="comboDropDown" ItemCssClass="comboItem" ItemHoverCssClass="comboItemHover" SelectedItemCssClass="comboItemSelect" DropHoverImageUrl="../App_Themes/images/combox/drop_hover.gif" DropImageUrl="../App_Themes/images/combox/drop.gif" Width="175px" TextBoxEnabled="false" />后台全部枚举绑定:/// <summary> /// 绑定装卸货点(所有枚举中的信息) /// </summary> private void bindState() { Type ty = typeof(TransportPlanEnum.LOADSTATEState); ComboBoxItem comboBoxItem; comboBoxItem = new ComboBoxItem(); comboBoxItem.Text = "--请选择开关设置--"; comboBoxItem.Value = "-1"; cb_state.Items.Add(comboBoxItem); foreach (string item in Enum.GetNames(ty)) { comboBoxItem = new ComboBoxItem(); comboBoxItem.Text = item; TransportPlanEnum.LOADSTATEState loadOrUnloadState = (TransportPlanEnum.LOADSTATEState)Enum.Parse(ty, item); comboBoxItem.Value = Convert.ToInt32(loadOrUnloadState).ToString(); cb_state.Items.Add(comboBoxItem); } cb_state.SelectedValue = "-1"; } 只是枚举中的几个条件 private void bindState() { Type ty = typeof(TransportPlanEnum.LOADSTATEState); ComboBoxItem comboBoxItem; comboBoxItem = new ComboBoxItem(); comboBoxItem.Text = "--请选择状态--"; comboBoxItem.Value = "-1"; cb_state.Items.Add(comboBoxItem); comboBoxItem = new ComboBoxItem(); comboBoxItem.Text = TransportPlanEnum.TransportPlanState.已提交.ToString(); comboBoxItem.Value = (Convert.ToInt32(TransportPlanEnum.TransportPlanState.已提交)).ToString(); cb_state.Items.Add(comboBoxItem); comboBoxItem = new ComboBoxItem(); comboBoxItem.Text = TransportPlanEnum.TransportPlanState.已派车.ToString(); comboBoxItem.Value = (Convert.ToInt32(TransportPlanEnum.TransportPlanState.已派车)).ToString(); cb_state.Items.Add(comboBoxItem); cb_state.SelectedValue = "-1"; } //查询 if (cb_state.SelectedValue != "-1" && !string.IsNullOrEmpty(cb_state.SelectedValue)) { filter += " and " + string.Format(VIEW_PLAN_MATCHSEND.Col_PLANISPLANFULL + "='{0}'", cb_state.SelectedValue); } //枚举定义枚举: using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace YC.SH.TP { public class TransportPlanEnum { /// <summary> /// 任务单装货状态 /// </summary> public enum LOADSTATEState { 未到达 = 0, 已到达, 开始装货, 装货完成, 离开装货地 } } } 枚举在页面后台的用法: string aa = TransportPlanEnum.LOADSTATEState.未到达.ToString();//未到达 decimal bb = Convert.ToDecimal(TransportPlanEnum.LOADSTATEState.未到达);//0

年龄的绑定:

页面的comboBox: <ComponentArt:ComboBox ID="com_AGE" runat="server" AutoHighlight="false" AutoComplete="true" AutoFilter="true" CssClass="comboBox" HoverCssClass="comboBoxHover" FocusedCssClass="comboBoxHover" DataValueField="INVITECODE" DataTextField="GOALTYPE" TextBoxCssClass="comboTextBox" DropDownCssClass="comboDropDown" ItemCssClass="comboItem" ItemHoverCssClass="comboItemHover" SelectedItemCssClass="comboItemSelect" DropHoverImageUrl="../../App_Themes/Default/images/combox/drop_hover.gif" DropImageUrl="../../App_Themes/Default/images/combox/drop.gif" Width="150" DropDownHeight="230" DropDownWidth="155" TextBoxEnabled="false"> </ComponentArt:ComboBox>后台: protected void age() { com_AGE.Items.Clear(); for (int i = 15; i <= 80; i++) { com_AGE.Items.Add(new ComponentArt.Web.UI.ComboBoxItem(i.ToString())); } }

comboBox与textbox的联动

必要条件:一个单中只有一个车牌号码,所以可以把车牌号码作为value,这样就不需要callBack了 //js方法: function cb_matchCodeChange(sender, eventArgs) { var truckCode = sender.getSelectedItem().get_value(); if (truckCode == undefined) { document.getElementById("tb_carNumber").value = ""; } else { document.getElementById("tb_carNumber").value = truckCode; } } //前台:<td style="width: 80px" align="right" nowrap> 派车单号: </td> <td nowrap style="width: 200px"> <ComponentArt:ComboBox ID="cb_matchCode" runat="server" FilterCacheSize="0" AutoHighlight="true" AutoComplete="true" AutoFilter="false" RunningMode="CallBack" DataTextField="MATCHCODE" DataValueField="TRUCKCODEPROVIDE" CssClass="comboBox" HoverCssClass="comboBoxHover" FocusedCssClass="comboBoxHover" TextBoxCssClass="comboTextBox" DropDownCssClass="comboDropDown" ItemCssClass="comboItem" ItemHoverCssClass="comboItemHover" SelectedItemCssClass="comboItemSelect" DropDownResizingMode="Corner" DropHoverImageUrl="../App_Themes/images/combox/drop_hover.gif" DropImageUrl="../App_Themes/images/combox/drop.gif" Width="170" TextBoxEnabled="false" DropDownWidth="170" DropDownHeight="297"> <ClientEvents> <Change EventHandler="cb_matchCodeChange" /> </ClientEvents> </ComponentArt:ComboBox> </td> <td style="width: 80px" align="right" nowrap> 车牌号码: </td> <td nowrap style="width: 200px"> <asp:TextBox ID="tb_carNumber" runat="server" CssClass="input01" MaxLength="20" οnblur="this.className='input01'" οnfοcus="this.className='input02';" Enabled="false" /> </td> 后台:只需要绑定comboBox就可以了/// <summary> /// 绑定派车单号 /// </summary> private void bindMatchCode() { cb_matchCode.Items.Clear(); string filter = string.Format(T_MATCH_SEND_查询.Col_MATCHSTATE + "='{0}'", Convert.ToDecimal(TransportPlanEnum.SendCarState.已结单)); ObjModelDataSource<T_MATCH_SEND_查询> Isource = new ObjModelDataSource<T_MATCH_SEND_查询>(); Isource.AddCandidate(T_MATCH_SEND_查询.Col_MATCHCODE, T_MATCH_SEND_查询.Col_TRUCKCODEPROVIDE); DataSet Ids = Isource.DataObjectSource; Ids.Tables[0].Rows.InsertAt(row, 0); cb_matchCode.DataSource = Ids; cb_matchCode.DataBind(); cb_matchCode.SelectedIndex = 0; }

comboBox绑定树:

//树的异步加载//前台:只能写一句话,否则读不出来了<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="TreeViewUrl.aspx.cs" Inherits="YC.SH.WEB.Car.TreeViewUrl" ContentType="text/xml" %>//后台:using System;using System.Collections;using System.Configuration;using System.Data;using System.Linq;using System.Web;using System.Web.Security;using System.Web.UI;using System.Web.UI.HtmlControls;using System.Web.UI.WebControls;using System.Web.UI.WebControls.WebParts;using System.Xml.Linq;using YC.SH.SM;//应用的类型(表)using YC.SH.Car;using YC.SH.Gps;using YC.SH.CT;using YC.DB.DataSource;//公司自己封装的库using ComponentArt.Web.UI;//第三方控件namespace YC.SH.WEB.Car{ public partial class TreeViewUrl : System.Web.UI.Page { protected void Page_Load(object sender, EventArgs e) { ComponentArt.Web.UI.TreeView TreeView1 = new ComponentArt.Web.UI.TreeView(); string parentID = Request.QueryString["parentID"];//条件 string chlidType = Request.QueryString["chlidType"];//多个接口 string userID = ""; if (Request.QueryString["userID"] != null) { userID = Request.QueryString["userID"]; } switch (chlidType) { case "24": ObjModelDataSource<T_INTARNEL_CUSTOMER_TYPE> nsource = new ObjModelDataSource<T_INTARNEL_CUSTOMER_TYPE>(DataSourceType.全部读取); nsource.AddCandidate(T_INTARNEL_CUSTOMER_TYPE.Col_CUSTOMERTYPEID, T_INTARNEL_CUSTOMER_TYPE.Col_CUSTOMERTYPE); nsource.OrderStr = string.Format("{0} asc", T_INTARNEL_CUSTOMER_TYPE.Col_SORT); foreach (DataRow dept in nsource.DataObjectSource.Tables[0].Rows) { TreeViewNode node = new TreeViewNode(); node.Text = dept[T_INTARNEL_CUSTOMER_TYPE.Col_CUSTOMERTYPE].ToString(); node.ImageUrl = "company1.png"; node.ToolTip = "内部业务"; node.ExpandedImageUrl = "company2.png"; node.Value = string.Format("{0},{1}", dept[T_INTARNEL_CUSTOMER_TYPE.Col_CUSTOMERTYPEID], "0"); string url = string.Format("../TreeViewUrl.aspx?parentID={0}&chlidType=25", Server.UrlEncode(dept[T_INTARNEL_CUSTOMER_TYPE.Col_CUSTOMERTYPEID].ToString())); node.Selectable = false; node.ContentCallbackUrl = url; TreeView1.Nodes.Add(node); } Response.Write(TreeView1.GetXml()); break;case "25": ObjModelDataSource<T_INTARNEL_CUSTOMERS> nbsource = new ObjModelDataSource<T_INTARNEL_CUSTOMERS>(DataSourceType.全部读取); nbsource.AddCandidate(T_INTARNEL_CUSTOMERS.Col_CUSTOMERID, T_INTARNEL_CUSTOMERS.Col_CUSTOMERNAME); nbsource.FilterStr = string.Format("{0}='{1}'", T_INTARNEL_CUSTOMERS.Col_UNROOTCLASSIFY, parentID); foreach (DataRow mod in nbsource.DataObjectSource.Tables[0].Rows) { ComponentArt.Web.UI.TreeViewNode node = new ComponentArt.Web.UI.TreeViewNode(); node.Text = mod[T_INTARNEL_CUSTOMERS.Col_CUSTOMERNAME].ToString(); node.Value = string.Format("{0},{1}", mod[T_INTARNEL_CUSTOMERS.Col_CUSTOMERID].ToString(), "0"); node.Expanded = false; node.ImageUrl = "dept1.png"; node.ToolTip = "内部业务"; node.ExpandedImageUrl = "dept2.png"; TreeView1.Nodes.Add(node); } Response.Write(TreeView1.GetXml()); break;}

comboBox绑定固定内容的树

js:js: //业务类型 function cb_businessTypeTree_onNodeSelect(sender, eventArgs) { document.getElementById("hf_businessType").value = eventArgs.get_node().get_value(); cb_businessTypeTree.set_text(eventArgs.get_node().get_text()); //设置comboxtext cb_businessTypeTree.collapse(); } 界面: <td οnkeydοwn="return false;" οnpaste="return false;" style="width: 172px;"> <asp:HiddenField ID="hf_businessType" runat="server" /> <ComponentArt:ComboBox ID="cb_businessTypeTree" runat="server" AutoFilter="false" AutoHighlight="false" AutoComplete="false" CssClass="comboBox" HoverCssClass="comboBoxHover" FocusedCssClass="comboBoxHover" TextBoxCssClass="comboTextBox" DropDownCssClass="comboDropDown" ItemCssClass="comboItem" ItemHoverCssClass="comboItemHover" SelectedItemCssClass="comboItemSelect" DropHoverImageUrl="../App_Themes/images/combox/drop_hover.gif" DropImageUrl="../App_Themes/images/combox/drop.gif" Width="100%" DropDownHeight="300" DropDownWidth="170"> <DropDownContent> <ComponentArt:TreeView ID="tv_businessType" DragAndDropEnabled="false" NodeEditingEnabled="false" NodeCssClass="TreeNode" SelectedNodeCssClass="SelectedTreeNode" HoverNodeCssClass="HoverTreeNode" NodeEditCssClass="NodeEdit" LineImageWidth="19" LineImageHeight="20" DefaultImageWidth="16" DefaultImageHeight="16" ItemSpacing="0" NodeLabelPadding="3" ImagesBaseUrl="../App_Themes/images/Main/" LineImagesFolderUrl="../App_Themes/images/Treeview/" ShowLines="true" EnableViewState="false" runat="server" Height="300" Width="100%"> <ClientEvents> <NodeSelect EventHandler="cb_businessTypeTree_onNodeSelect" /> </ClientEvents> </ComponentArt:TreeView> </DropDownContent> </ComponentArt:ComboBox> 后台代码: 固定的东西: /// <summary> /// 业务类型 /// </summary> private void bindBusinessType() { tv_businessType.Nodes.Clear(); TreeViewNode parentsNode = new TreeViewNode(); parentsNode.Text = "全部"; parentsNode.Value = "-1,-1"; parentsNode.ImageUrl = "folder.gif"; parentsNode.ExpandedImageUrl = "folder_open.gif"; parentsNode.Expanded = true; tv_businessType.Nodes.Add(parentsNode); TreeViewNode NBNode = new TreeViewNode(); NBNode.Text = "内部企业"; NBNode.Value = "0,0"; NBNode.ImageUrl = "company1.png"; NBNode.ToolTip = "内部企业"; NBNode.ExpandedImageUrl = "company2.png"; NBNode.Selectable = false; NBNode.Expanded = false; String NBurl = String.Format("../TreeViewUrl.aspx?parentID={0}&chlidType=28", Server.UrlEncode("0")); NBNode.ContentCallbackUrl = NBurl; parentsNode.Nodes.Add(NBNode); TreeViewNode GDNode = new TreeViewNode(); GDNode.Text = "固定客户"; GDNode.Value = "1,1"; GDNode.ImageUrl = "company1.png"; GDNode.ToolTip = "固定客户"; GDNode.ExpandedImageUrl = "company2.png"; parentsNode.Nodes.Add(GDNode); TreeViewNode FGNode = new TreeViewNode(); FGNode.Text = "非固定客户"; FGNode.Value = "2,2"; FGNode.ImageUrl = "company1.png"; FGNode.ToolTip = "非固定客户"; FGNode.ExpandedImageUrl = "company2.png"; parentsNode.Nodes.Add(FGNode); }

comboBox绑定不固定的树

js: function TreeView1_onNodeSelect(sender, eventArgs) { cb_carNumber.set_text(eventArgs.get_node().get_text()); //设置comboxtext document.getElementById("hd_tree").value = eventArgs.get_node().get_value(); cb_carNumber.collapse(); }界面: <td align="left" οnkeydοwn="return false;" οnpaste="return false;"> <asp:HiddenField ID="hd_tree" runat="server" Value="-1,-1" /> <ComponentArt:ComboBox ID="cb_carNumber" Width="180" runat="server" AutoFilter="false" AutoHighlight="false" AutoComplete="false" CssClass="comboBox" HoverCssClass="comboBoxHover" FocusedCssClass="comboBoxHover" TextBoxCssClass="comboTextBox" DropDownCssClass="comboDropDown" ItemCssClass="comboItem" ItemHoverCssClass="comboItemHover" SelectedItemCssClass="comboItemSelect" DropHoverImageUrl="../App_Themes/images/combox/drop_hover.gif" DropImageUrl="../App_Themes/images/combox/drop.gif" DropDownHeight="297" DropDownWidth="216"> <DropDownContent> <ComponentArt:TreeView ID="TreeView1" DragAndDropEnabled="false" NodeEditingEnabled="false" NodeCssClass="TreeNode" SelectedNodeCssClass="SelectedTreeNode" HoverNodeCssClass="HoverTreeNode" NodeEditCssClass="NodeEdit" LineImageWidth="19" LineImageHeight="20" DefaultImageWidth="16" DefaultImageHeight="16" ItemSpacing="0" NodeLabelPadding="3" ImagesBaseUrl="../App_Themes/images/Main/" LineImagesFolderUrl="../App_Themes/images/combox/" ShowLines="true" EnableViewState="false" runat="server" Height="297" Width="216"> <ClientEvents> <NodeSelect EventHandler="TreeView1_onNodeSelect" /> </ClientEvents> </ComponentArt:TreeView> </DropDownContent> <ClientEvents> <Collapse EventHandler="isCarNumber" /> </ClientEvents> </ComponentArt:ComboBox>后台: /// <summary> /// 绑定树 /// </summary> private void BindTreeView() { //清除树节点 TreeView1.Nodes.Clear(); TreeViewNode parentsNode = new TreeViewNode(); parentsNode.ImageUrl = "folder.gif"; parentsNode.ExpandedImageUrl = "folder_open.gif"; parentsNode.Text = "--请选择车牌号码--"; parentsNode.Value = "-1,-1"; parentsNode.Expanded = true; TreeView1.Nodes.Add(parentsNode); string filter = string.Empty; if (LoginUser.UserBranch != "0") { filter = string.Format("{0}='{1}'", 分公司信息.Col_ID, LoginUser.UserBranch); } ObjModelDataSource<分公司信息> source = new ObjModelDataSource<分公司信息>(DataSourceType.全部读取, filter); source.AddCandidate(分公司信息.Col_ID, 分公司信息.Col_公司名称); source.OrderStr = string.Format("{0} asc", 分公司信息.Col_排序); foreach (DataRow dept in source.DataObjectSource.Tables[0].Rows) { TreeViewNode node = new TreeViewNode(); node.Text = dept[分公司信息.Col_公司名称].ToString(); if (dept[分公司信息.Col_ID].ToString() == "0") { node.ImageUrl = "mastcompany1.png"; node.ToolTip = "总公司"; node.ExpandedImageUrl = "mastcompany2.png"; } else { node.ImageUrl = "company1.png"; node.ToolTip = "分公司"; node.ExpandedImageUrl = "company2.png"; } node.Selectable = false; node.Value = string.Format("{0},{1}", dept[分公司信息.Col_ID], "0"); string url = string.Format("../TreeViewUrl.aspx?parentID={0}&chlidType=32", Server.UrlEncode(dept[分公司信息.Col_ID].ToString())); node.ContentCallbackUrl = url; parentsNode.Nodes.Add(node); } }树的查询:string comboxValue = hd_tree.Value; string[] cobpars = comboxValue.Split(','); string parentID = cobpars[0]; string parentType = cobpars[1];if (parentType == "-1")//如果是查询全部 { if (LoginUser.UserBranch != "0")//如果当前登录人不是总公司用户 { filter.Append(string.Format(" and {0} = '{1}'", VIEW_电瓶信息.Col_使用单位ID, LoginUser.UserBranch)); } } else//不是查询全部 { if (parentType == "0")//查询公司 { filter.Append(string.Format(" and {0} = '{1}'", VIEW_电瓶信息.Col_使用单位ID, parentID)); } else//查询分组 { filter.Append(string.Format(" and {0} = '{1}'", VIEW_电瓶信息.Col_分组ID, parentID)); } }

树的事件绑定动态的dataList

<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="Serv_FittingsSetAddInsert.aspx.cs" Inherits="YC.SH.WEB.Service.Serv_FittingsSetAddInsert" %> <%@ Register Assembly="ComponentArt.Web.UI" Namespace="ComponentArt.Web.UI" TagPrefix="ComponentArt" %> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head runat="server"> <meta http-equiv="Pragma" content="no-cache" /> <meta http-equiv="Cache-Control" content="no-cache" /> <meta http-equiv="Expires" content="0" /> <title>清点配件添加</title> <link href="../App_Themes/DefaultThemes/main.css" rel="stylesheet" type="text/css" /> <link href="../App_Themes/DefaultThemes/dialog.css" rel="stylesheet" type="text/css" /> <link href="../App_Themes/DefaultThemes/submit.css" rel="stylesheet" type="text/css" /> <link href="../App_Themes/DefaultThemes/treeStyle.css" rel="stylesheet" type="text/css" /> <link href="../App_Themes/DefaultThemes/combobox.css" rel="stylesheet" type="text/css" /> <script src="../js/calendars.js" type="text/javascript"></script> <script type="text/javascript" src="../js/validate.js"></script> <style type="text/css"> li, ul, dt, form, ol, FIELDSET, p, h1, h2, h3, h4, h5, TABLE, IMG, dl, dt, dd { margin: 0px; padding: 0px; border: 0px; list-style: none; } body { margin: 0; padding: 0; text-align: center; font-size: 12px; } A:link, A:visited { font: "宋体"; color: #1c1c1c; text-decoration: none; } A:hover, A:active { text-decoration: underline; color: #000000; } .list_kt { height: 30px; width: 500px; background: #BFEFFF; border: #B0E2FF solid 1px; margin: 3px auto; font-weight: bold; } .list_kt .lkttbt { float: left; width: 200px; line-height: 30px; text-align: left; margin-left: 10px; } .list_kt .lktxbt { line-height: 30px; font-size: 12px; width: 100px; float: left; } .list_kt .lktxrt { line-height: 30px; font-size: 12px; width: 65px; float: right; margin-right: 10px; text-align: center; } .list_kb { height: 30px; width: 500px; background: #FDF9D6; border: #FECC46 solid 1px; margin: 3px auto; } .list_kb .lkttb { float: left; width: 200px; line-height: 30px; text-align: left; margin-left: 10px; } .list_kb .lktxb { line-height: 30px; font-size: 12px; width: 100px; float: left; } .list_kb .lktxr { line-height: 30px; font-size: 12px; width: 65px; float: right; margin-right: 10px; text-align: center; } .list_kb .lktxr input { height: 21px; width: 46px; line-height: 20px; border: #87A3C1 solid 1px; margin-top: 2px; color: #333; } .list_kb .txtext { float: left; margin-right: 3px; width: 150px; text-align: right; vertical-align: middle; } .list_kb .intext { padding-top: 3px; } </style> <script type="text/javascript" language="javascript"> function tv_carNumber_OnNodeSelect(sender, eventArgs) { cb_carNumber.set_text(eventArgs.get_node().get_text()); //设置comboxtext cb_carNumber.collapse(); Callback_Edit.callback("carNumber", eventArgs.get_node().get_text()); } //保存dialog的数据 function save() { if (saveValidate()) { var obj = document.getElementById("<%=DataList1.ClientID%>"); var objstr = ""; if (obj != null) { var objItemList = obj.getElementsByTagName("input"); for (var i = 0; i < objItemList.length; i++) { if (objItemList[i] != null && objItemList[i].type == "hidden") { objstr += objItemList[i].value + "|"; } else { objstr += objItemList[i].value + "*"; } } } if (objstr != "" && objstr.length > 0) { objstr = objstr.substring(0, objstr.length - 1); } // alert(objstr); callBack_save.callback("save", objstr); } } //保存的前台验证 function saveValidate() { var carNumber = cb_carNumber.get_text(); var tb_checkTime = document.getElementById("tb_checkTime"); if (carNumber == null || carNumber == "--请选择车牌号码--") { alert("请选择车牌号码!"); cb_carNumber.focus(); return false; } if (!checkInputValueIsEmpty(tb_checkTime)) { alert("请选入清点时间!"); tb_checkTime.focus(); return false; } var obj = document.getElementById("<%=DataList1.ClientID%>"); var objItemList = obj.getElementsByTagName("input"); if (obj != null) { for (var t = 0; t < objItemList.length; t++) { if (objItemList[t].type == "text") { if (objItemList[t].value == "") { objItemList[t].focus(); return false; } } } } return true; } //刷新窗口 function refreshPage() { window.returnValue = true; window.close(); } </script> </head> <body> <form id="form1" runat="server"> <div> <asp:HiddenField ID="hf_command" runat="server" /> <ComponentArt:CallBack ID="callBack_save" runat="server" PostState="true" OnCallback="callBack_save_Callback" /> <table cellpadding="0" cellspacing="0"> <tr> <td> <table cellpadding="0" cellspacing="0" width="500px"> <tr> <td style="width: 65px" align="right" nowrap> 车牌号码: </td> <td style="width: 150px" οnpaste="return false;" οnkeydοwn="return false;"> <ComponentArt:ComboBox ID="cb_carNumber" runat="server" AutoFilter="false" AutoHighlight="false" AutoComplete="false" CssClass="comboBox" HoverCssClass="comboBoxHover" FocusedCssClass="comboBoxHover" TextBoxCssClass="comboTextBox" DropDownCssClass="comboDropDown" ItemCssClass="comboItem" ItemHoverCssClass="comboItemHover" SelectedItemCssClass="comboItemSelect" DropHoverImageUrl="../App_Themes/images/combox/drop_hover.gif" DropImageUrl="../App_Themes/images/combox/drop.gif" Width="153" DropDownHeight="297" DropDownWidth="216"> <DropDownContent> <ComponentArt:TreeView ID="tv_carNumber" DragAndDropEnabled="false" NodeEditingEnabled="false" NodeCssClass="TreeNode" SelectedNodeCssClass="SelectedTreeNode" HoverNodeCssClass="HoverTreeNode" NodeEditCssClass="NodeEdit" LineImageWidth="19" LineImageHeight="20" DefaultImageWidth="16" DefaultImageHeight="14" ItemSpacing="0" NodeLabelPadding="3" ImagesBaseUrl="../App_Themes/images/Main/" LineImagesFolderUrl="../App_Themes/images/Treeview/" ShowLines="true" EnableViewState="true" runat="server"> <ClientEvents> <NodeSelect EventHandler="tv_carNumber_OnNodeSelect" /> </ClientEvents> </ComponentArt:TreeView> </DropDownContent> </ComponentArt:ComboBox> </td> <td style="width: 3px" align="left"> <span style="color: Red">*</span> </td> <td align="right" style="width: 80px" nowrap> 清点时间: </td> <td style="width: 150px"> <asp:TextBox ID="tb_checkTime" runat="server" CssClass="input05" Width="150px" οnfοcus="this.className='input02';this.select();setday(this);" οnblur="this.className='input01';DBC2SBC(this);" /> </td> <td align="left"> <span style="color: Red">*</span> </td> </tr> <tr> <td colspan="6"> <ComponentArt:CallBack ID="Callback_Edit" runat="server" PostState="true" OnCallback="CallBack_Edit_Callback"> <Content> <asp:PlaceHolder ID="pl_checkData" runat="server"> <asp:DataList ID="DataList1" runat="server" BorderWidth="0" CellPadding="0" CellSpacing="1"> <HeaderTemplate> <div class="list_kt"> <div class="lkttbt"> 配件名称 </div> <div class="lktxbt"> 上次清点数 </div> <div class="lktxrt"> 本次清点数 </div> </div> </HeaderTemplate> <ItemTemplate> <div class="list_kb"> <div class="lkttb"> <asp:HiddenField ID="hid_id" runat="server" Value='<%# DataBinder.Eval(Container.DataItem, "配件ID")%>' /> <%# DataBinder.Eval(Container.DataItem, "配件名称")%> </div> <div class="lktxb"> <%# DataBinder.Eval(Container.DataItem, "配件数量")%> </div> <div class="lktxr"> <asp:TextBox ID="tb_thisCount" runat="server" MaxLength="30" CssClass="input05" οnfοcus="this.className='input02';this.select();" οnblur="this.className='input01';DBC2SBC(this);" Width="60px" Style="ime-mode: disabled" οnkeypress="KeyPressNum(this);" /> </div> </div> </ItemTemplate> <FooterTemplate> </table> </FooterTemplate> </asp:DataList> </asp:PlaceHolder> </Content> </ComponentArt:CallBack> </td> </tr> </table> </td> </tr> <tr> <td align="center"> <input type="button" id="DialogButton" οnclick='save();' value=" 确定 " class="btn02" οnmοuseοver="this.className='btn04'" οnmοuseοut="this.className='btn02'" /> <input type='button' οnclick='window.close();' value='取消' class="btn02" οnmοuseοver="this.className='btn04'" οnmοuseοut="this.className='btn02'" /> </td> </tr> </table> </div> </form> </body> </html> --后台-- using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.Web.UI; using System.Web.UI.WebControls; using YC.SH.Service; using YC.DB.DataSource; using SHIB3.DataAccess.T; using System.Data; using ComponentArt.Web.UI; using YC.SH.Sevice; namespace YC.SH.WEB.Service { public partial class Serv_FittingsSetAddInsert : PageBase { protected void Page_Load(object sender, EventArgs e) { if (!IsPostBack) { BindTreeView(); tb_checkTime.Attributes.Add("readOnly","readOnly"); hf_command.Value = "insert"; } } /// <summary> /// 绑定数据源 /// </summary> private void bingSource(string filter) { ObjModelDataSource<VIEW_随车配件设置> obj = new ObjModelDataSource<VIEW_随车配件设置>(filter); DataList1.DataSource = obj; DataList1.DataBind(); } /// <summary> /// 绑定树 /// </summary> private void BindTreeView() { //清除树节点 tv_carNumber.Nodes.Clear(); TreeViewNode parentsNode = new TreeViewNode(); parentsNode.ImageUrl = "folder.gif"; parentsNode.ExpandedImageUrl = "folder_open.gif"; cb_carNumber.Text = parentsNode.Text = "--请选择车牌号码--"; parentsNode.Value = "-1,-1"; parentsNode.Expanded = true; tv_carNumber.Nodes.Add(parentsNode); string filter = string.Empty; ObjModelDataSource<分公司信息> source = new ObjModelDataSource<分公司信息>(DataSourceType.全部读取, filter); source.AddCandidate(分公司信息.Col_ID, 分公司信息.Col_公司名称); source.OrderStr = string.Format("{0} asc", 分公司信息.Col_排序); foreach (DataRow dept in source.DataObjectSource.Tables[0].Rows) { TreeViewNode node = new TreeViewNode(); node.Text = dept[分公司信息.Col_公司名称].ToString(); if (dept[分公司信息.Col_ID].ToString() == "0") { node.ImageUrl = "mastcompany1.png"; node.ToolTip = "总公司"; node.ExpandedImageUrl = "mastcompany2.png"; } else { node.ImageUrl = "company1.png"; node.ToolTip = "分公司"; node.ExpandedImageUrl = "company2.png"; } node.Expanded = false; node.Selectable = false;//不能被选择 node.Value = string.Format("{0},{1}", dept[分公司信息.Col_ID], "0"); string url = string.Format("../TreeViewUrl.aspx?parentID={0}&chlidType=3", Server.UrlEncode(dept[分公司信息.Col_ID].ToString())); node.ContentCallbackUrl = url; parentsNode.Nodes.Add(node); } } //添加 protected void callBack_save_Callback(object sender, ComponentArt.Web.UI.CallBackEventArgs e) { string js = string.Empty; string[] pars = e.Parameters; switch (pars[0]) { case "save": string comm = hf_command.Value; switch (comm) { case "insert": int insertResult = Insert(pars[1]); switch (insertResult) { case 0: js = "<script>alert('添加成功!');refreshPage();</script>"; break; case 2: js = "<script>alert('数据库操作失败!')</script>"; break; } break; } break; default: break; } if (!string.IsNullOrEmpty(js)) { e.Output.Write(js); } } //操作 protected void CallBack_Edit_Callback(object sender, ComponentArt.Web.UI.CallBackEventArgs e) { string js = string.Empty; string[] pars = e.Parameters; switch (pars[0]) { case "carNumber": string filter = string.Format("{0}='{1}'", VIEW_随车配件设置.Col_车牌号码, pars[1]); bingSource(filter); break; default: break; } pl_checkData.RenderControl(e.Output); } /// <summary> /// 添加 /// </summary> /// <returns></returns> private int Insert(string strValue) { int result = 0; FittingsCheckRecord fittingCheckRecord = new FittingsCheckRecord(); List<配件清点记录> list = new List<配件清点记录>(); string[] strList = strValue.Split('*'); for (int i = 0; i < strList.Length; i++) { string[] objvalue = strList[i].Split('|'); //foreach (DataListItem item in DataList1.Items) //{ // Label lb_配件ID = item.FindControl("Label1") as Label; 配件清点记录 obj = new 配件清点记录(); obj.配件ID = objvalue[0]; obj.清点人 = LoginUser.LoginName; obj.车牌号码 = cb_carNumber.Text; obj.配件数量 = Convert.ToDecimal(objvalue[1]); obj.清点时间 = Convert.ToDateTime(tb_checkTime.Text); list.Add(obj); //} } bool resultResult = false; if (list != null && list.Count > 0) { resultResult = fittingCheckRecord.FittingsCheckRecordListInsert(list, LoginUser); } if (resultResult) { result = 0; } else { result = 2; } return result; } } } ---添加方法-- /// <summary> /// 添加配件清点记录 /// </summary> /// <param name="obj"></param> /// <param name="user"></param> /// <returns>true 成功,false 失败</returns> public bool FittingsCheckRecordListInsert(List<配件清点记录> List, SysUser user) { bool result = false; using (DatabaseCommand db = DBFactory.CreateDB(配件清点记录.DBNAME)) { if (List != null) { db.BeginTransaction(); foreach (配件清点记录 obj in List) { result = db.InsertObj(obj); if (result) { if (user != null) { string context = string.Format("添加ID为{0}的配件清点记录", obj.ID); 操作日志 log = LogCommand.getLog(user.UserName, user.UserID, "添加配件清点记录", 页面, context); db.InsertObj(log); } } else { break; } } if (result) { db.Commit(); } else { db.Rollback(); } } } return result; }


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值