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;//设置合并列
else
gv.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;//设置合并列
else
gv.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;//获取当前控件的GridView
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;//设置合并列
else
gv.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"];
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 });
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 });
#endregion
lookupEditYPDM.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
浙公网安备 33010602011771号