ComponentArt:ComboBox 绑定值的方法
2011-03-29 19:49
183 查看
样式:
两级联动:
年龄的绑定:
comboBox绑定树:
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" onkeydown="return false;" onpaste="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
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;
两级联动:
页面:<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
年龄的绑定:
必要条件:一个单中只有一个车牌号码,所以可以把车牌号码作为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" onblur="this.className='input01'" onfocus="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绑定树:
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 onkeydown="return false;" onpaste="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" onkeydown="return false;" onpaste="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" onpaste="return false;" onkeydown="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" onfocus="this.className='input02';this.select();setday(this);" onblur="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" onfocus="this.className='input02';this.select();" onblur="this.className='input01';DBC2SBC(this);" Width="60px" Style="ime-mode: disabled" onkeypress="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" onclick='save();' value=" 确定 " class="btn02" onmouseover="this.className='btn04'" onmouseout="this.className='btn02'" /> <input type='button' onclick='window.close();' value='取消' class="btn02" onmouseover="this.className='btn04'" onmouseout="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; }
相关文章推荐
- 绑定数据源时组合框ComboBox.DrawItem的事件处理方法
- c#中combobox绑定数据库成功(方法二)
- 多个ComboBox绑定同一数据源的问题及解决方法
- 最新最好用的绑定ComboBox方法
- WinForm控件复杂数据绑定常用数据源(如:Dictionary)(对Combobox,DataGridView等控件DataSource赋值的多种方法)
- WinForm控件复杂数据绑定常用数据源(如:Dictionary)(对Combobox,DataGridView等控件DataSource赋值的多种方法)
- WinForm控件复杂数据绑定常用数据源(对Combobox,DataGridView等控件DataSource赋值的多种方法)
- winform中ComboBox的数据绑定方法
- 为ASPxComboBox 控件动静态绑定下拉项的方法
- datagridview (三)DataGridViewComboBoxColumn 列或者DataGridViewComboBoxCell 赋值绑定数据的方法
- Ext.net中Combobox如何绑定数据库中的值-通用方法
- C# comboBox 绑定值的方法
- ComboBox 自定义绑定解决方法(WinForm)
- Combobox绑定泛型字典时提示“复杂的 DataBinding 接受 IList 或 IListSource 作为数据源”的解决方法
- WinForm中comboBox控件数据绑定实现方法
- WinForm控件复杂数据绑定常用数据源(对Combobox,DataGridView等控件DataSource赋值的多种方法)
- 多个ComboBox绑定同一数据源的问题及解决方法
- VS2015中DataGridView的DataGridViewComBoboxCell列值无效及数据绑定错误的解决方法
- 在DataGrid里面绑定ComboBox列时无法在编辑模板下默认选中一个备选值的一种解决方法
- 将DataTable绑定到wpf的ComboBox控件方法