dev 控件使用技巧,待完善
来源:互联网 发布:golang webloop 编辑:程序博客网 时间:2024/05/01 03:55
1、treeList不显示父级子级结构,如grid使用
属性:Options->OptionsView 下的 ShowPreview:True,ShowRoot:False数据 下的 KeyFieldName:ID,ParentFiledName:ID。
去掉选择列:OptionsView下的 “ShowIndicator=false”
checkbox父子联动:treeList1.OptionsBehavior.AllowRecursiveNodeChecking="true"
2、绑定GridLookUpEdit
public static void BindGNLB(GridLookUpEdit txtGNLB) { txtGNLB.Text = ""; txtGNLB.Properties.View.OptionsBehavior.AutoPopulateColumns = false; BLL.KZ_GNLB bll = new BLL.KZ_GNLB(); DataTable dt = bll.GetList("", "PXH"); txtGNLB.Properties.DataSource = dt; //数据源 txtGNLB.Properties.DisplayMember = "GNMC"; //绑定Text显示的字段源名称 txtGNLB.Properties.ValueMember = "GNID"; //绑定Value字段源名称 txtGNLB.Properties.AllowNullInput = DevExpress.Utils.DefaultBoolean.True; txtGNLB.Properties.View.BestFitColumns(); txtGNLB.Properties.ShowFooter = false; txtGNLB.Properties.View.OptionsView.ShowAutoFilterRow = true; //显示不显示grid上第一个空行,也是用于检索的应用 txtGNLB.Properties.View.OptionsFilter.AllowFilterEditor = false; txtGNLB.Properties.AutoComplete = false; txtGNLB.Properties.ImmediatePopup = true; txtGNLB.Properties.PopupFilterMode = DevExpress.XtraEditors.PopupFilterMode.Contains; txtGNLB.Properties.TextEditStyle = DevExpress.XtraEditors.Controls.TextEditStyles.Standard; //配置,用于像文本框 }
开启 text检索
txtGNLB.Properties.DisplayMember = "DISPLAY"; //绑定Text显示的字段源名称
DevExpress.XtraGrid.Columns.GridColumn colBH = new DevExpress.XtraGrid.Columns.GridColumn(); DevExpress.XtraGrid.Columns.GridColumn colMC = new DevExpress.XtraGrid.Columns.GridColumn(); // DevExpress.XtraGrid.Columns.GridColumn colYWM = new DevExpress.XtraGrid.Columns.GridColumn(); DevExpress.XtraGrid.Columns.GridColumn colDisplay = new DevExpress.XtraGrid.Columns.GridColumn(); setGridColumn(colBH, "编号", "BH", "colBH", 100); setGridColumn(colMC, "科室", "MC", "colMC", 100); //setGridColumn(colYWM, "音位码", "YWM", "colYWM", 100); setGridColumn(colDisplay, "DISPLAY", "DISPLAY", "colDisplay", 100); colDisplay.Visible = false; gridLookUpEdit.Properties.View.Columns.AddRange(new DevExpress.XtraGrid.Columns.GridColumn[] { colBH, colMC,colDisplay});
private void setGridColumn(DevExpress.XtraGrid.Columns.GridColumn column , string Caption, string FieldName, string Name, int width) { column.AppearanceHeader.Options.UseTextOptions = true; column.AppearanceHeader.TextOptions.HAlignment = DevExpress.Utils.HorzAlignment.Center; column.Caption = Caption; column.FieldName = FieldName; column.MinWidth = width; column.Name = Name; column.Visible = true; column.VisibleIndex = 0; column.Width = width; }
3、绑定ComboBoxEdit
public static void BindRoleGroup(ComboBoxEdit ddlRoleGroup) { Dictionary<string, string> dic= MyConst.ROLEGROUP.GetRoleGroup(); ddlRoleGroup.Properties.Items.Add(new ComboBoxHelp("", "-请选择-")); foreach(var item in dic) { ddlRoleGroup.Properties.Items.Add(new ComboBoxHelp(item.Value, item.Key)); } ddlRoleGroup.Properties.Buttons[0].Kind = DevExpress.XtraEditors.Controls.ButtonPredefines.DropDown; ddlRoleGroup.Properties.TextEditStyle = DevExpress.XtraEditors.Controls.TextEditStyles.DisableTextEditor; }
4、NavBarConrol动态加载用户控件
public mainForm() { InitializeComponent(); if (LoginUser.GROUPID == "0") // 开发公司 { navBarMenu.Groups.Clear(); this.Text = this.Text + " 开发公司 " + LoginUser.CZYXM; MyConst.AdminMenu adminMenu = new MyConst.AdminMenu(); DataTable dt = adminMenu.GetAdminMenu(); NavBarGroup group; DataRow[] pRows = dt.Select("PGNID='0'"); for (int i = 0; i < pRows.Length; i++) { group = new NavBarGroup(); group.Caption = pRows[i]["GNMC"].ToString(); group.Name = pRows[i]["AssemblyClass"].ToString(); this.navBarMenu.Groups.AddRange(new NavBarGroup[] { group}); BindchildMenu(group, dt, pRows[i]["GNID"].ToString()); } } else { } }
void BindchildMenu(NavBarGroup group,DataTable dt, string pGNID) { DataRow[] cRows = dt.Select("PGNID='" + pGNID + "'"); NavBarItem barItem; for (int i = 0; i < cRows.Length; i++) { barItem = new NavBarItem(); barItem.Caption = cRows[i]["GNMC"].ToString(); barItem.Name = cRows[i]["AssemblyClass"].ToString(); barItem.LinkClicked += new DevExpress.XtraNavBar.NavBarLinkEventHandler(this.lbtn_LinkClicked); group.ItemLinks.AddRange(new NavBarItemLink[] { new NavBarItemLink(barItem)}); } }
// 加载事件 private void lbtn_LinkClicked(object sender, DevExpress.XtraNavBar.NavBarLinkEventArgs e) { NavBarItem navBarItem = sender as NavBarItem; UserControl c; if (!dic_Controls.TryGetValue(navBarItem.Name, out c)) { c = Assembly.Load("Hospital").CreateInstance(navBarItem.Name) as UserControl; dic_Controls.Add(navBarItem.Name, c); } addControl(c); }
/// <summary> /// 加载控件 /// </summary> /// <param name="control"></param> private void addControl(Control control) { clearControl(); control.Size = this.panelRight.Size; panelRight.Controls.Clear(); panelRight.Controls.Add(control); }
5、dxValidationProvider 控件的使用
/// <summary> /// 验证是否为空 /// </summary> private void ValidatEmptyUser() { dxValidationProvider1.ValidationMode = ValidationMode.Manual; dxValidationProvider1.Validate(); Validate(txtCZYBM, "该字段不能为空!"); Validate(this.txtLOGID, "该字段不能为空!"); Validate(this.txtCZYXM, "该字段不能为空!"); Validate(this.txtROLE, "该字段不能为空!"); Validate(this.txtPassword, "该字段不能为空!"); Validate(this.txtConfirmPassword, "该字段不能为空!"); } /// <summary> /// 验证控件样式 /// </summary> /// <param name="c"></param> /// <param name="ErrorText"></param> private void Validate(Control c, string ErrorText) { ConditionValidationRule notEmpty = new ConditionValidationRule(); notEmpty.ConditionOperator = ConditionOperator.IsNotBlank; notEmpty.ErrorText = ErrorText; dxValidationProvider1.SetValidationRule(c, notEmpty); dxValidationProvider1.SetIconAlignment(c, ErrorIconAlignment.MiddleRight); }
6、GridControl 选中行下追加一行
var SQL = "SELECT ROWNUM AS XH,BH AS KSBH,MC AS FWKS FROM YHWXQ_V_KS where LB='1'"; grid_dataTable = DAL.HISControl.CreateDALControl().GetDataTable(SQL); this.gridPB.DataSource = grid_dataTable;
// 新增、追加行 private void btnXZ_Click(object sender, EventArgs e) { DataRowView dataRowView = (DataRowView)this.advBandedGridView1.GetFocusedRow(); // 当前序号 int XH = Int32.Parse(dataRowView["XH"].ToString()); // 当前服务科室 string FWKS = dataRowView["FWKS"].ToString(); // 当前服务科室编号 string KSBH = dataRowView["KSBH"].ToString(); // 新增行(序号、服务科室、科室编号) DataRow newRow = grid_dataTable.NewRow(); newRow["XH"] = XH+1; newRow["FWKS"] = FWKS; newRow["KSBH"] = KSBH; int max_XH = Int32.Parse(grid_dataTable.Compute("max(XH)","").ToString()); for (int i = max_XH; i > XH; i--) { grid_dataTable.DefaultView[i - 1]["XH"] = i + 1; } grid_dataTable.Rows.Add(newRow); grid_dataTable.DefaultView.Sort = "XH"; this.gridPB.DataSource = grid_dataTable.DefaultView; }
GridControl Bands 冻结列 Fixed =left
- dev 控件使用技巧,待完善
- DEV 控件使用技巧
- httpclient使用,待完善
- curl使用(待完善)
- Android_Vitamio使用(待完善)
- FFMpeg使用实例--待完善
- 自定义控件(详解_待完善)
- easyui之draggable控件分析,待完善
- Navicat使用技巧(附快捷键)(多年总结,待完善)
- editplus,notepad++,ultraEdit使用技巧(附实用快捷键)(多年总结,待完善)
- 待完善。。
- 待完善
- 待完善
- 待完善
- 待完善
- 待完善
- 待完善
- Calendar类的使用,待完善
- 一位ACMer过来人的心得
- 流媒体解决方案
- 描述 private、protected、internal和public修饰符的
- 苹果宣布Bob Mansfield继续留任
- 分析器错误消息: 未能加载文件或程序集“AjaxPro.2”或它的某一个依赖项。系统找不到指定的文件。
- dev 控件使用技巧,待完善
- 奇偶排序Linux下c 实现
- C#隐藏启动窗口方法总结
- web命名规则
- Android中对Sqlite的管理工具
- IIS7/IIS7.5 二级域名伪静态设置方法
- 对于公司裁员和转型的无力吐槽
- 简单网络协议SNMP之net-snmp开发snmpget
- 查看linux操作系统位数 (32位linux 64位linux)