Dev中GridView、RepositoryItemGridLookUpEdit、LookUpEdit等扩展方法

本文主要是介绍Dev中GridView、RepositoryItemGridLookUpEdit、LookUpEdit等扩展方法,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

/// <summary>/// GridView列属性设置类/// </summary>public class BaseColumnSet{/// <summary>/// 列名(可不设置)/// </summary>public string Name { get; set; }/// <summary>/// 绑定字段/// </summary>public string FieldName { get; set; }/// <summary>/// 列名(显示)/// </summary>public string Caption { get; set; }/// <summary>/// 列宽(默认100)/// </summary>public int Width { get; set; } = 100;/// <summary>/// 是否显示(默认显示)/// </summary>public bool Visible { get; set; } = true;/// <summary>/// 显示位置(默认按照列表添加顺序)/// </summary>public int? VisibleIndex { get; set; }/// <summary>/// 设置列是否可编辑(默认可编辑)/// </summary>public bool AllowEdit { get; set; } = true;/// <summary>/// 格式化类型/// </summary>public FormatType formatType { get; set; } = FormatType.None;/// <summary>/// 格式化类型名称 /// </summary>public string FormatString { get; set; }/// <summary>/// 分组/// </summary>public int GroupIndex { get; set; } = -1;/// <summary>/// 排序/// </summary>public ColumnSortOrder sortOrder { get; set; } = ColumnSortOrder.None;/// <summary>/// 设置可编辑列/// 例:RepositoryItemCheckEdit RepositoryItemImageEdit RepositoryItemGridLookUpEdit RepositoryItemComboBox/// </summary>public RepositoryItem ColumnEdit { get; set; }/// <summary>/// 设置列内容是否可合并/// </summary>public DefaultBoolean AllowMerge { get; set; } = DefaultBoolean.Default;}
/// <summary>/// 控件设置公共类/// </summary>public static class CtrlSetCommon{/// <summary>/// 设置GridView显示列属性/// </summary>/// <param name="gv">GridView</param>/// <param name="list">列属性集合</param>/// <param name="indicatorShow">显示行号:默认True</param>public static void SetColumns(this GridView gv, List<BaseColumnSet> list, bool indicatorShow = true, int indicatorWidth = 30){string fieldName = string.Empty;for (int i = 0; i < list.Count; i++){fieldName = list[i].FieldName;gv.Columns.AddField(fieldName);if (!string.IsNullOrWhiteSpace(list[i].Name))gv.Columns[fieldName].Name = list[i].Name;gv.Columns[fieldName].Caption = list[i].Caption;gv.Columns[fieldName].Width = list[i].Width;gv.Columns[fieldName].VisibleIndex = list[i].VisibleIndex ?? i;gv.Columns[fieldName].Visible = list[i].Visible;gv.Columns[fieldName].OptionsColumn.AllowEdit = list[i].AllowEdit;if (list[i].formatType != FormatType.None){gv.Columns[fieldName].DisplayFormat.FormatType = list[i].formatType;gv.Columns[fieldName].DisplayFormat.FormatString = list[i].FormatString;}gv.Columns[fieldName].GroupIndex = list[i].GroupIndex;gv.Columns[fieldName].SortOrder = list[i].sortOrder;if (list[i].ColumnEdit != null)gv.Columns[fieldName].ColumnEdit = list[i].ColumnEdit;//可编辑列if (list[i].AllowMerge != DefaultBoolean.Default)gv.Columns[fieldName].OptionsColumn.AllowMerge = list[i].AllowMerge;//设置合并列elsegv.Columns[fieldName].OptionsColumn.AllowMerge = DefaultBoolean.False;//设置合并列}if (indicatorShow){gv.IndicatorWidth = indicatorWidth;gv.CustomDrawRowIndicator += Gv_CustomDrawRowIndicator;}}/// <summary>/// 显示行号/// </summary>private static void Gv_CustomDrawRowIndicator(object sender, RowIndicatorCustomDrawEventArgs e){if (e.Info.IsRowIndicator && e.RowHandle >= 0){e.Info.DisplayText = (e.RowHandle + 1).ToString().PadLeft(3, ' ');}}#region RepositoryItemGridLookUpEdit//private static System.Windows.Forms.UserControl userCtrl = null;//private static List<string> strList = null;/// <summary>/// 行内编辑(弹出RepositoryItemGridLookUpEdit)/// 设置GridView显示列属性/// </summary>/// <param name="gridLookUpEdit">行内编辑弹出控件</param>/// <param name="list">列属性集合</param>/// <param name="dt">数据源</param>/// <param name="valueMember">绑定值成员</param>/// <param name="displayMember">绑定显示成员</param>/// <param name="nullText">空值显示:默认为空字符串</param>public static void SetColumns(this RepositoryItemGridLookUpEdit gridLookUpEdit, List<BaseColumnSet> list, DataTable dt = null, string valueMember = "", string displayMember = "", string nullText = ""){GridView gv = gridLookUpEdit.View;//获取当前控件的GridView//DevExpress.XtraGrid.GridControl gridCtrl = gridLookUpEdit.View.GridControl;string fieldName = string.Empty;for (int i = 0; i < list.Count; i++){fieldName = list[i].FieldName;gv.Columns.AddField(fieldName);if (!string.IsNullOrWhiteSpace(list[i].Name))gv.Columns[fieldName].Name = list[i].Name;gv.Columns[fieldName].Caption = list[i].Caption;gv.Columns[fieldName].Width = list[i].Width;gv.Columns[fieldName].VisibleIndex = list[i].VisibleIndex ?? i;gv.Columns[fieldName].Visible = list[i].Visible;gv.Columns[fieldName].OptionsColumn.AllowEdit = list[i].AllowEdit;if (list[i].formatType != FormatType.None){gv.Columns[fieldName].DisplayFormat.FormatType = list[i].formatType;gv.Columns[fieldName].DisplayFormat.FormatString = list[i].FormatString;}gv.Columns[fieldName].GroupIndex = list[i].GroupIndex;gv.Columns[fieldName].SortOrder = list[i].sortOrder;if (list[i].ColumnEdit != null)gv.Columns[fieldName].ColumnEdit = list[i].ColumnEdit;//可编辑列if (list[i].AllowMerge != DefaultBoolean.Default)gv.Columns[fieldName].OptionsColumn.AllowMerge = list[i].AllowMerge;//设置合并列elsegv.Columns[fieldName].OptionsColumn.AllowMerge = DefaultBoolean.False;//设置合并列}gridLookUpEdit.ValueMember = valueMember;//设置值成员gridLookUpEdit.DisplayMember = displayMember;//设置显示成员gridLookUpEdit.NullText = nullText;//设置空值显示gridLookUpEdit.DataSource = dt;//设置数据源}/// <summary>/// 设置匹配的列/// </summary>/// <param name="sender">sender</param>/// <param name="strList">Filter列名</param>public static void FilterLookup(object sender, List<string> strList){//Text += " ! ";GridLookUpEdit edit = sender as GridLookUpEdit;GridView gridView = edit.Properties.View as GridView;FieldInfo fi = gridView.GetType().GetField("extraFilter", BindingFlags.NonPublic | BindingFlags.Instance);//Text = edit.AutoSearchText;List<BinaryOperator> operators = new List<BinaryOperator>();foreach (string strColumnName in strList){operators.Add(new BinaryOperator(strColumnName, "%" + edit.AutoSearchText + "%", BinaryOperatorType.Like));}string filterCondition = new GroupOperator(GroupOperatorType.Or, operators.ToArray()).ToString();fi.SetValue(gridView, filterCondition);MethodInfo mi = gridView.GetType().GetMethod("ApplyColumnsFilterEx", BindingFlags.NonPublic | BindingFlags.Instance);mi.Invoke(gridView, null);}/// <summary>/// 设置匹配的列/// </summary>/// <param name="lookupEditYPDM">RepositoryItemGridLookUpEdit控件</param>/// <param name="list">Filter列名</param>/// <param name="searchText">当前输入值</param>public static void FilterLookup(RepositoryItemGridLookUpEdit lookupEditYPDM, List<string> list, string searchText){//GridLookUpEdit edit = sender as GridLookUpEdit;GridView gridView = lookupEditYPDM.View as GridView;FieldInfo fi = gridView.GetType().GetField("extraFilter", BindingFlags.NonPublic | BindingFlags.Instance);List<BinaryOperator> operators = new List<BinaryOperator>();foreach (string strColumnName in list){operators.Add(new BinaryOperator(strColumnName, "%" + searchText + "%", BinaryOperatorType.Like));}string filterCondition = new GroupOperator(GroupOperatorType.Or, operators.ToArray()).ToString();fi.SetValue(gridView, filterCondition);MethodInfo mi = gridView.GetType().GetMethod("ApplyColumnsFilterEx", BindingFlags.NonPublic | BindingFlags.Instance);mi.Invoke(gridView, null);}#endregion/// <summary>/// 行内编辑(弹出RepositoryItemSearchLookUpEdit)/// 设置GridView显示列属性/// </summary>/// <param name="searchLookUpEdit">行内编辑弹出控件</param>/// <param name="list">列属性集合</param>/// <param name="dt">数据源</param>/// <param name="valueMember">绑定值成员</param>/// <param name="displayMember">绑定显示成员</param>/// <param name="nullText">空值显示:默认为空字符串</param>public static void SetColumns(this RepositoryItemSearchLookUpEdit searchLookUpEdit, List<BaseColumnSet> list, DataTable dt = null, string valueMember = "", string displayMember = "", string nullText = ""){GridView gv = searchLookUpEdit.View;//获取当前控件的GridViewstring fieldName = string.Empty;for (int i = 0; i < list.Count; i++){fieldName = list[i].FieldName;gv.Columns.AddField(fieldName);if (!string.IsNullOrWhiteSpace(list[i].Name))gv.Columns[fieldName].Name = list[i].Name;gv.Columns[fieldName].Caption = list[i].Caption;gv.Columns[fieldName].Width = list[i].Width;gv.Columns[fieldName].VisibleIndex = list[i].VisibleIndex ?? i;gv.Columns[fieldName].Visible = list[i].Visible;gv.Columns[fieldName].OptionsColumn.AllowEdit = list[i].AllowEdit;if (list[i].formatType != FormatType.None){gv.Columns[fieldName].DisplayFormat.FormatType = list[i].formatType;gv.Columns[fieldName].DisplayFormat.FormatString = list[i].FormatString;}gv.Columns[fieldName].GroupIndex = list[i].GroupIndex;gv.Columns[fieldName].SortOrder = list[i].sortOrder;if (list[i].ColumnEdit != null)gv.Columns[fieldName].ColumnEdit = list[i].ColumnEdit;//可编辑列if (list[i].AllowMerge != DefaultBoolean.Default)gv.Columns[fieldName].OptionsColumn.AllowMerge = list[i].AllowMerge;//设置合并列elsegv.Columns[fieldName].OptionsColumn.AllowMerge = DefaultBoolean.False;//设置合并列}searchLookUpEdit.ValueMember = valueMember;//设置值成员searchLookUpEdit.DisplayMember = displayMember;//设置显示成员searchLookUpEdit.NullText = nullText;//设置空值显示searchLookUpEdit.DataSource = dt;//设置数据源}/// <summary>/// LookUpEdit扩展方法/// 设置LookUpEdit数据源、ValueMember、DiaplayMember/// </summary>/// <param name="cmb">LookUpEdit控件</param>/// <param name="dt">数据源</param>/// <param name="valueMember">绑定值成员</param>/// <param name="displayMember">绑定显示成员</param>public static void LookUpEditExtend(this LookUpEdit cmb, DataTable dt, string valueMember, string displayMember, int widthPopup = 100, int heightPopup = 150, bool showHeader = false, bool showFooter = false){cmb.Properties.ValueMember = valueMember;cmb.Properties.DisplayMember = displayMember;cmb.Properties.DataSource = dt;cmb.Properties.PopupSizeable = true;cmb.Properties.PopupFormMinSize = new Size(widthPopup, heightPopup);cmb.Properties.ShowHeader = showHeader;cmb.Properties.ShowFooter = showFooter;}/// <summary>/// 设置LookUpEdit显示列属性/// </summary>/// <param name="lookupEdit">LookUpEdit</param>/// <param name="list">列属性集合</param>public static void SetColumns(this LookUpEdit lookupEdit, List<BaseColumnSet> list){//string fieldName = string.Empty;for (int i = 0; i < list.Count; i++){//fieldName = list[i].FieldName;DevExpress.XtraEditors.Controls.LookUpColumnInfo lookUpColumn = new DevExpress.XtraEditors.Controls.LookUpColumnInfo(){FieldName = list[i].FieldName,Caption = list[i].Caption,Width = list[i].Width,Visible = list[i].Visible,SortOrder = list[i].sortOrder};if (list[i].formatType != FormatType.None){lookUpColumn.FormatType = list[i].formatType;lookUpColumn.FormatString = list[i].FormatString;}lookupEdit.Properties.Columns.Add(lookUpColumn);}}/// <summary>/// 设置GridLookUpEdit显示列属性/// </summary>/// <param name="lookupEdit">LookUpEdit</param>/// <param name="list">列属性集合</param>public static void SetColumns(this GridLookUpEdit lookupEdit, List<BaseColumnSet> list){for (int i = 0; i < list.Count; i++){DevExpress.XtraGrid.Columns.GridColumn lookUpColumn = new DevExpress.XtraGrid.Columns.GridColumn(){FieldName = list[i].FieldName,Caption = list[i].Caption,Width = list[i].Width,Visible = list[i].Visible,SortOrder = list[i].sortOrder};lookupEdit.Properties.View.Columns.Add(lookUpColumn);}}/// <summary>/// GridLookUpEdit扩展方法/// 设置GridLookUpEdit数据源、ValueMember、DiaplayMember/// </summary>/// <param name="cmb">LookUpEdit控件</param>/// <param name="dt">数据源</param>/// <param name="valueMember">绑定值成员</param>/// <param name="displayMember">绑定显示成员</param>public static void LookUpEditExtend(this GridLookUpEdit cmb, DataTable dt, string valueMember, string displayMember, int widthPopup = 110, int heightPopup = 150, bool showFooter = false){cmb.Properties.ValueMember = valueMember;cmb.Properties.DisplayMember = displayMember;cmb.Properties.DataSource = dt;cmb.Properties.PopupSizeable = true;cmb.Properties.PopupFormMinSize = new Size(widthPopup, heightPopup);cmb.Properties.PopupFormSize = new Size(widthPopup, heightPopup);cmb.Properties.ShowFooter = showFooter;cmb.Properties.NullValuePrompt = "请选择";cmb.Properties.NullValuePromptShowForEmptyValue = true;cmb.Properties.TextEditStyle = DevExpress.XtraEditors.Controls.TextEditStyles.Standard;cmb.Properties.ImmediatePopup = true;}}

 

简单调用样例

1、

DataTable dtQYYF = clientCommon.GetMZYF();cmbQYYF.Properties.Columns.Clear();List<BaseColumnSet> listQYYF = new List<BaseColumnSet>();listQYYF.Add(new BaseColumnSet() { FieldName = "YFDM", Caption = "代码", Visible = false });listQYYF.Add(new BaseColumnSet() { FieldName = "YFMC", Caption = "名称", Visible = true });cmbQYYF.SetColumns(listQYYF);cmbQYYF.LookUpEditExtend(dtQYYF, "YFDM", "YFMC");if (dtQYYF.Rows.Count > 0)cmbQYYF.EditValue = dtQYYF.Rows[0]["YFDM"];

2、
 

dtGYFS = clientCommon.GetGYFS();//获取给药方式数据RepositoryItemGridLookUpEdit lookupEditGYFS = new RepositoryItemGridLookUpEdit();List<BaseColumnSet> listGYFS = new List<BaseColumnSet>();listGYFS.Add(new BaseColumnSet() { FieldName = "YPYFMC", Caption = "**方式", Width = 100, AllowEdit = false });lookupEditGYFS.SetColumns(listGYFS, dtGYFS, "YPYFDM", "YPYFMC", "请选择");lookupEditGYFS.TextEditStyle = TextEditStyles.Standard;lookupEditGYFS.PopupFormSize = new Size(100, 200);lookupEditGYFS.ImmediatePopup = true;//lookupEditGYFS.PopupFilterMode = PopupFilterMode.Contains;//lookupEditGYFS.AllowNullInput = DevExpress.Utils.DefaultBoolean.True;lookupEditGYFS.EditValueChanging += LookupEditGYFS_EditValueChanging;listWestPrescription.Add(new BaseColumnSet() { FieldName = "GYFS", Caption = "**方式", Width = 80, ColumnEdit = lookupEditGYFS, VisibleIndex = 7 });

3、
 

RepositoryItemGridLookUpEdit lookupEditYPDM = new RepositoryItemGridLookUpEdit();#region 弹出设置列List<BaseColumnSet> listPopup = new List<BaseColumnSet>();listPopup.Add(new BaseColumnSet() { FieldName = "YPMC", Caption = "名称", Width = 200, AllowEdit = false });listPopup.Add(new BaseColumnSet() { FieldName = "PYDM", Caption = "拼音码", Width = 60, AllowEdit = false });listPopup.Add(new BaseColumnSet() { FieldName = "GG", Caption = "规格", Width = 60, AllowEdit = false });listPopup.Add(new BaseColumnSet() { FieldName = "LSJ", Caption = "***", Width = 80, AllowEdit = false });listPopup.Add(new BaseColumnSet() { FieldName = "SL", Caption = "**", Width = 60, AllowEdit = false });listPopup.Add(new BaseColumnSet() { FieldName = "PC", Caption = "**", Width = 60, AllowEdit = false });listPopup.Add(new BaseColumnSet() { FieldName = "PH", Caption = "**", Width = 60, AllowEdit = false });listPopup.Add(new BaseColumnSet() { FieldName = "CDMC", Caption = "****", Width = 60, AllowEdit = false });listPopup.Add(new BaseColumnSet() { FieldName = "YBBZ", Caption = "****", Width = 60, AllowEdit = false });listPopup.Add(new BaseColumnSet() { FieldName = "YPLX", Caption = "***", Width = 60, AllowEdit = false });listPopup.Add(new BaseColumnSet() { FieldName = "BXBZ", Caption = "****", Width = 60, AllowEdit = false });#endregionlookupEditYPDM.SetColumns(listPopup, dtYPDM, "YPDM", "YPMC", "");lookupEditYPDM.TextEditStyle = TextEditStyles.Standard;lookupEditYPDM.PopupFormSize = new Size(500, 200);lookupEditYPDM.ImmediatePopup = true;//lookupEditYPDM.PopupFilterMode = PopupFilterMode.Contains;//lookupEditYPDM.AllowNullInput = DevExpress.Utils.DefaultBoolean.True;lookupEditYPDM.CustomDisplayText += LookupEditYPDM_CustomDisplayText;//因为列表中只有部分药品数据,故需修改显示内容lookupEditYPDM.EditValueChanging += LookupEditYPDM_EditValueChanging;listWestPrescription.Add(new BaseColumnSet() { FieldName = "YPDM", Caption = "名称", Width = 200, ColumnEdit = lookupEditYPDM, VisibleIndex = 3 });

 

事件

gv_West.OptionsMenu.EnableColumnMenu = false;//gv_WestPrescription.OptionsView.AllowCellMerge = false;//合并单元格(AllowCellMerge)和复选框(MultiSelectMode)不能同时用gv_West.OptionsSelection.MultiSelect = true;gv_West.OptionsSelection.ShowCheckBoxSelectorInColumnHeader = DevExpress.Utils.DefaultBoolean.True;gv_West.OptionsSelection.MultiSelectMode = GridMultiSelectMode.CheckBoxRowSelect;gv_West.OptionsSelection.CheckBoxSelectorColumnWidth = 45;//设置宽度gv_West.CellValueChanging += Gv_West_CellValueChanging;gv_West.FocusedRowChanged += Gv_West_FocusedRowChanged;gv_West.OptionsCustomization.AllowColumnMoving = false;//设置列不可移动gv_West.OptionsView.ColumnAutoWidth = false;//取消列自适应宽度gv_West.ShowingEditor += Gv_West_ShowingEditor;
/// <summary>/// 设置LookUpEditYPDM显示内容/// </summary>private void LookupEditYPDM_CustomDisplayText(object sender, CustomDisplayTextEventArgs e){if (string.IsNullOrWhiteSpace(e.DisplayText)){foreach (DataRow dr in dtWestDataSource.Rows){if (dr["YPDM"].ToString() == e.Value.ToString())e.DisplayText = dr["YPMC"].ToString();}}}/// <summary>/// 设置行数据,不可修改/// </summary>private void Gv_West_ShowingEditor(object sender, CancelEventArgs e){DataRow dr = gv_West.GetDataRow(gv_West.FocusedRowHandle);if (dr != null){if (dr["CFZTMC"].ToString() == "提交")e.Cancel = true;}}#region 行内编辑事件及设置数据源/// <summary>/// 单元格值改变事件/// </summary>private void Gv_West_CellValueChanging(object sender, DevExpress.XtraGrid.Views.Base.CellValueChangedEventArgs e){switch (e.Column.FieldName){case "YPDM": RepositoryItem_SelectYPXX(e); break;//case "GYFS": RepositoryItem_SelectGYFS(e); break;//case "GYPL": RepositoryItem_SelectGYPL(e); break;//case "YSZT": RepositoryItem_SelectYSZT(e); break;case "SL": JudgeKCL("SL", sender, e); break;case "TS": JudgeKCL("TS", sender, e); break;default: break;}}/// <summary>/// 选择**/// </summary>/// <param name="e"></param>private void RepositoryItem_SelectYPXX(DevExpress.XtraGrid.Views.Base.CellValueChangedEventArgs e){RepositoryItemGridLookUpEdit lookupEditYPDM = gv_West.Columns["YPDM"].ColumnEdit as RepositoryItemGridLookUpEdit;if (lookupEditYPDM.GetRowByKeyValue(e.Value) != null)//选中项不为空,设置当前行的值;选中项为空,重新根据输入值加载下拉面板的值;{DataRow dr = ((DataRowView)lookupEditYPDM.GetRowByKeyValue(e.Value)).Row;#region 设置当前行数据gv_West.SetRowCellValue(e.RowHandle, "YPDM", dr["YPDM"]);gv_West.SetRowCellValue(e.RowHandle, "YPMC", dr["YPMC"]);gv_West.SetRowCellValue(e.RowHandle, "JL", dr["DEFAULT_JL"]);gv_West.SetRowCellValue(e.RowHandle, "JLDW", dr["JLDW"]);gv_West.SetRowCellValue(e.RowHandle, "GG", dr["GG"]);gv_West.SetRowCellValue(e.RowHandle, "SL", 0);string zybzStr = GetZYBZ();gv_West.SetRowCellValue(e.RowHandle, "ZYBZ", zybzStr);gv_West.SetRowCellValue(e.RowHandle, "SXH", "1");gv_West.SetRowCellValue(e.RowHandle, "LSJ", dr["LSJ"]);//***gv_West.SetRowCellValue(e.RowHandle, "KCL", dr["SL"]);//***gv_West.SetRowCellValue(e.RowHandle, "DW", dr["DW"].ToString());gv_West.SetRowCellValue(e.RowHandle, "YPYF", dr["DEFAULT_YF"]);//**string ts = txtTS.EditValue.ToString();gv_West.SetRowCellValue(e.RowHandle, "TS", ts);gv_West.SetRowCellValue(e.RowHandle, "MZDW", dr["MZDW"].ToString());gv_West.SetRowCellValue(e.RowHandle, "MZDJ", dr["MZDJ"]);gv_West.SetRowCellValue(e.RowHandle, "CDDM", dr["CDDM"]);gv_West.SetRowCellValue(e.RowHandle, "PC", dr["PC"]);gv_West.SetRowCellValue(e.RowHandle, "PH", dr["PH"]);gv_West.SetRowCellValue(e.RowHandle, "PS", dr["SFPS"]);gv_West.SetRowCellValue(e.RowHandle, "SYZ", "1");gv_West.SetRowCellValue(e.RowHandle, "BXBZ", dr["BXBZ"]);gv_West.SetRowCellValue(e.RowHandle, "SFBL", dr["SFBL"]); //****gv_West.SetRowCellValue(e.RowHandle, "MZBL", dr["MZBL"]);#endregion}else if (e.Value != null && !string.IsNullOrWhiteSpace(e.Value.ToString())){//根据当前输入内容,重新获取药品数据源,需去掉当前控件的查询功能,让当前控件的面板弹出//DataTable dtYPXX = GetYPXX(e.Value.ToString());//lookupEditYPDM.DataSource = dtYPXX;//此处数据源设置完,lookupEditYPDM.View.DataSource依然为空,故显示结果为空}}/// <summary>/// 焦点行改变事件/// </summary>private void Gv_West_FocusedRowChanged(object sender, DevExpress.XtraGrid.Views.Base.FocusedRowChangedEventArgs e){ShowCFInfo();}/// <summary>/// 获取****/// </summary>/// <returns>1**;0***</returns>private string GetZYBZ(){string result = "1";//1**;0***DataTable dt = gridCtrlWest.DataSource as DataTable;if (dt == null){return result;}foreach (DataRow dr in dt.Rows){if (dr["CFZTMC"].ToString() == "开单"){return "0";//1**;0***}else if (string.IsNullOrWhiteSpace(dr["CFZTMC"].ToString()) && dr["ZYBZ"].ToString() == "1"){return "0";//1**;0***}}return result;}private void LookupEditYPDM_EditValueChanging(object sender, ChangingEventArgs e){this.BeginInvoke(new System.Windows.Forms.MethodInvoker(delegate{CtrlSetCommon.FilterLookup(sender, new List<string>() { "PYDM", "YPMC", "YPDM" });}));}private void LookupEditGYFS_EditValueChanging(object sender, ChangingEventArgs e){this.BeginInvoke(new System.Windows.Forms.MethodInvoker(delegate{CtrlSetCommon.FilterLookup(sender, new List<string>() { "PYDM", "YPYFDM", "YPYFMC" });}));}private void LookupEditGYPL_EditValueChanging(object sender, ChangingEventArgs e){this.BeginInvoke(new System.Windows.Forms.MethodInvoker(delegate{CtrlSetCommon.FilterLookup(sender, new List<string>() { "PYDM", "BDDM", "BDMC" });}));}/// <summary>/// 判断***/// </summary>private void JudgeKCL(string columnName, object sender, DevExpress.XtraGrid.Views.Base.CellValueChangedEventArgs e){DataRow dr = (gv_West.GetRow(e.RowHandle) as DataRowView).Row;string strSL = dr["SL"] == null ? "0" : dr["SL"].ToString();//**string strTS = dr["TS"] == null ? "0" : dr["TS"].ToString();//**string strKCL = dr["KCL"] == null ? "0" : dr["KCL"].ToString();//***string currentValue = (e.Value == null || string.IsNullOrEmpty(e.Value.ToString())) ? "0" : e.Value.ToString();int slInt = 0, tsInt = 0, kclInt = 0;int.TryParse(strSL, out slInt);int.TryParse(strTS, out tsInt);int.TryParse(strKCL, out kclInt);if (columnName == "SL")slInt = int.Parse(currentValue);else if (columnName == "TS")tsInt = int.Parse(currentValue);if (slInt * tsInt > kclInt){XtraMessageBox.Show("当前**下的****不能大于***" + strKCL + " ,请修改此行" + (columnName == "TS" ? "**" : "**") + "!", "提醒", MessageBoxButtons.OK, MessageBoxIcon.Warning);}ShowCFInfo();}#endregion

 

这篇关于Dev中GridView、RepositoryItemGridLookUpEdit、LookUpEdit等扩展方法的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1063873

相关文章

Nginx设置连接超时并进行测试的方法步骤

《Nginx设置连接超时并进行测试的方法步骤》在高并发场景下,如果客户端与服务器的连接长时间未响应,会占用大量的系统资源,影响其他正常请求的处理效率,为了解决这个问题,可以通过设置Nginx的连接... 目录设置连接超时目的操作步骤测试连接超时测试方法:总结:设置连接超时目的设置客户端与服务器之间的连接

Java判断多个时间段是否重合的方法小结

《Java判断多个时间段是否重合的方法小结》这篇文章主要为大家详细介绍了Java中判断多个时间段是否重合的方法,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 目录判断多个时间段是否有间隔判断时间段集合是否与某时间段重合判断多个时间段是否有间隔实体类内容public class D

Python使用国内镜像加速pip安装的方法讲解

《Python使用国内镜像加速pip安装的方法讲解》在Python开发中,pip是一个非常重要的工具,用于安装和管理Python的第三方库,然而,在国内使用pip安装依赖时,往往会因为网络问题而导致速... 目录一、pip 工具简介1. 什么是 pip?2. 什么是 -i 参数?二、国内镜像源的选择三、如何

IDEA编译报错“java: 常量字符串过长”的原因及解决方法

《IDEA编译报错“java:常量字符串过长”的原因及解决方法》今天在开发过程中,由于尝试将一个文件的Base64字符串设置为常量,结果导致IDEA编译的时候出现了如下报错java:常量字符串过长,... 目录一、问题描述二、问题原因2.1 理论角度2.2 源码角度三、解决方案解决方案①:StringBui

Linux使用nload监控网络流量的方法

《Linux使用nload监控网络流量的方法》Linux中的nload命令是一个用于实时监控网络流量的工具,它提供了传入和传出流量的可视化表示,帮助用户一目了然地了解网络活动,本文给大家介绍了Linu... 目录简介安装示例用法基础用法指定网络接口限制显示特定流量类型指定刷新率设置流量速率的显示单位监控多个

Java覆盖第三方jar包中的某一个类的实现方法

《Java覆盖第三方jar包中的某一个类的实现方法》在我们日常的开发中,经常需要使用第三方的jar包,有时候我们会发现第三方的jar包中的某一个类有问题,或者我们需要定制化修改其中的逻辑,那么应该如何... 目录一、需求描述二、示例描述三、操作步骤四、验证结果五、实现原理一、需求描述需求描述如下:需要在

JavaScript中的reduce方法执行过程、使用场景及进阶用法

《JavaScript中的reduce方法执行过程、使用场景及进阶用法》:本文主要介绍JavaScript中的reduce方法执行过程、使用场景及进阶用法的相关资料,reduce是JavaScri... 目录1. 什么是reduce2. reduce语法2.1 语法2.2 参数说明3. reduce执行过程

C#中读取XML文件的四种常用方法

《C#中读取XML文件的四种常用方法》Xml是Internet环境中跨平台的,依赖于内容的技术,是当前处理结构化文档信息的有力工具,下面我们就来看看C#中读取XML文件的方法都有哪些吧... 目录XML简介格式C#读取XML文件方法使用XmlDocument使用XmlTextReader/XmlTextWr

C++初始化数组的几种常见方法(简单易懂)

《C++初始化数组的几种常见方法(简单易懂)》本文介绍了C++中数组的初始化方法,包括一维数组和二维数组的初始化,以及用new动态初始化数组,在C++11及以上版本中,还提供了使用std::array... 目录1、初始化一维数组1.1、使用列表初始化(推荐方式)1.2、初始化部分列表1.3、使用std::

oracle DBMS_SQL.PARSE的使用方法和示例

《oracleDBMS_SQL.PARSE的使用方法和示例》DBMS_SQL是Oracle数据库中的一个强大包,用于动态构建和执行SQL语句,DBMS_SQL.PARSE过程解析SQL语句或PL/S... 目录语法示例注意事项DBMS_SQL 是 oracle 数据库中的一个强大包,它允许动态地构建和执行