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