Files
lserp_cs_6.0/插件库/Lskj.ToolSetNew/FrmMain.cs
T
cyf ab56a9bcf7 基线 SVN r240
SVN-Revision: r240
2025-02-06 06:46:06 +00:00

1287 lines
64 KiB
C#

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using Lskj.Control;
using Lskj.Core;
using Lskj.Model;
using DevExpress.XtraEditors.Repository;
using DevExpress.XtraEditors.Controls;
using DevExpress.Utils;
using Lskj.Control.Model;
using Lskj.Business;
using DevExpress.XtraGrid.Views.Base;
using DevExpress.XtraGrid.Columns;
using DevExpress.XtraGrid;
using DevExpress.XtraGrid.Views.Grid;
using Lskj.Data;
using Lskj.Business.Impl;
namespace Lskj.ToolSetNew
{
public partial class FrmMain : BaseForm
{
#region 公有变量
public string Key;
public DynamicBaseTableModel SysModel;
public string username = "username";
public string colTable = string.Empty;
public string keyField = string.Empty;
public string stepCode = string.Empty;
public GridControl ObjGridcontrol;
public GridView ObjGridView;
public DataTable newColorTab;
public Dictionary<string, DataRow> dictionary = new Dictionary<string, DataRow>();
//颜色表表名
public string colorTableName = string.Empty;
//颜色表表名
public string ModelKey = string.Empty;
//当前模块颜色表信息
public DataTable colorDt = null;
//所有数值类型的列
Dictionary<string, string> columnName = new Dictionary<string, string>();
public int addIndex = -1;
#endregion
public FrmMain()
{
InitializeComponent();
}
#region 初始化
#region 窗口初始化
/// <summary>
/// <para>说明:窗口初始化</para>
/// <para>创建人:钱雄</para>
/// <para>创建日期: </para>
/// <para>修改人:</para>
/// <para>修改日期:</para>
/// <para>修改备注:</para>
/// <para>版本:1.0</para>
/// </summary>
/// <param name="e">The <see cref="EventArgs"/> instance containing the event data.</param>
protected void OnLoad(object sender, EventArgs e)
{
try
{
this.Key = SysModel.Key;
this.Text = SysModel.FormText;
InitGridControl();
this.lab_search.TextEdit.EditValueChanged += new EventHandler(OnUserEditValueChanged);
this.colorSaveBtn.Click += new EventHandler(OnColorSaveBtn_Click);
this.addBtn.Click += new EventHandler(OnAddBtn_Click);
this.colorSetGrid.GridView.CellValueChanging += new CellValueChangedEventHandler(GridView_CellValueChanging);
if (string.IsNullOrEmpty(this.ModelKey))
{
this.panel1.Visible = false;
this.pl_main.Dock = DockStyle.Fill;
return;
}
creatDetailControl();
// this.ObjGridView.FocusedRowObjectChanged += ObjGridView_FocusedRowObjectChanged;
InitBelowGridControl();
Lskj.Control.Model.AutoSizeChange.ControllInitializeSize(this);
}
catch (Exception ex)
{
string Message = ErrorMessage.PromptErrorMessage(ex);
MessageUtil.Show(Message, ex.Message);
}
}
private void GridView_CellValueChanging(object sender, CellValueChangedEventArgs e)
{
DataRow focusedRow = this.colorSetGrid.GridView.GetFocusedDataRow();
if (e.Column.FieldName.Equals("userName"))
{
focusedRow["ComparingValues"] = "";
focusedRow["operation"] = "";
}
if (e.Column.FieldName.Equals("userName"))
{
string updid = focusedRow["updid"] + "";
DataTable dataTable = this.colorSetGrid.gridControl.DataSourceTable();
DataRow[] selectRows = dataTable.Select().Where(n => (n["updid"] + "").Equals(updid)).ToArray();
if (selectRows.Length > 0)
{
string forcecolor = selectRows[0]["forcecolor"] + "";
string backcolor = selectRows[0]["backcolor"] + "";
string ifBold = selectRows[0]["ifBold"] + "";
string ifItalic = selectRows[0]["ifItalic"] + "";
string ifStrickOut = selectRows[0]["ifStrickOut"] + "";
string ifUnderLine = selectRows[0]["ifUnderLine"] + "";
string useflag = selectRows[0]["useflag"] + "";
for (int i = 0; i < selectRows.Length; i++)
{
if (i > 0)
{
DataRow row = selectRows[i];
row["forcecolor"] = forcecolor;
row["backcolor"] = backcolor;
row["ifBold"] = ifBold;
row["ifItalic"] = ifItalic;
row["ifStrickOut"] = ifStrickOut;
row["ifUnderLine"] = ifUnderLine;
row["useflag"] = useflag;
}
}
}
}
else if (e.Column.FieldName.Equals("ifBold") || e.Column.FieldName.Equals("ifItalic") || e.Column.FieldName.Equals("ifStrickOut") || e.Column.FieldName.Equals("ifUnderLine") || e.Column.FieldName.Equals("useflag"))
{
//e.Column.FieldName.Equals("forcecolor") || e.Column.FieldName.Equals("backcolor") ||
string fileName = e.Column.FieldName;
int rowHandle = this.colorSetGrid.GridView.GetDataSourceRowIndex(e.RowHandle);
DataTable dataTable = this.colorSetGrid.gridControl.DataSourceTable();
DataRow Row = dataTable.Rows[rowHandle];
string updid = Row["updid"] + "";
DataRow[] selectRows = dataTable.Select().Where(n => (n["updid"] + "").Equals(updid)).ToArray();
for (int i = 0; i < selectRows.Length; i++)
{
DataRow row = selectRows[i];
row[fileName] = e.Value;
}
}
}
/// <summary>
/// 初始下方数据源
/// </summary>
public void InitBelowGridControl()
{
try
{
DataTable columsTab = this.ObjGridcontrol.DataSourceTable();
//获得当前模块全部条件
string sql = string.Format(@"select id,'' as userName,'' as operation,'' as ComparingValues,orderid,condition,forcecolor,backcolor,
isnull(ifBold,0) as ifBold,isnull(ifItalic,0) as ifItalic,isnull(ifStrickOut,0) as ifStrickOut,
isnull(ifUnderLine,0) as ifUnderLine,isnull(useflag,0) as useflag
from {0} where tab='{1}' order by orderid", colorTableName, ModelKey);
DataTable dataTable = SqlHelper.ExecuteDataTable(sql);
newColorTab = dataTable.Clone();
newColorTab.Columns.Add("updId");
newColorTab.Columns.Add("unioTip");
newColorTab.Columns.Add("RightMenuBtnEdit");
foreach (DataRow dataRow in dataTable.Rows)
{
if (!string.IsNullOrEmpty(dataRow["condition"] + ""))
{
string cond = dataRow["condition"] + "";
InitMultiple(cond, dataRow);
}
}
this.colorSetGrid.gridControl.DataSource = newColorTab;
}
catch (Exception ex)
{
this.panel1.Visible = false;
this.pl_main.Dock = DockStyle.Fill;
}
}
/// <summary>
/// 添加操作列
/// </summary>
private void InitRightMenuBtnEdit()
{
GridColumn gridColumn = new GridColumn();
gridColumn.FieldName = "RightMenuBtnEdit";
gridColumn.Name = "RightMenuBtnEdit";
gridColumn.Caption = "操作列";
//gridColumn.OptionsColumn.ShowCaption = false;
gridColumn.Visible = true;
gridColumn.VisibleIndex = 0;
RepositoryItemButtonEdit ItemButtonEdit = new RepositoryItemButtonEdit();
ItemButtonEdit.Buttons.Clear();
ItemButtonEdit.AppearanceDisabled.Options.UseTextOptions = true;
ItemButtonEdit.AppearanceDisabled.TextOptions.HAlignment = HorzAlignment.Center;
ItemButtonEdit.TextEditStyle = TextEditStyles.HideTextEditor;
ItemButtonEdit.ButtonsStyle = BorderStyles.UltraFlat;
ItemButtonEdit.BorderStyle = BorderStyles.NoBorder;
ItemButtonEdit.ButtonClick += new ButtonPressedEventHandler(OnItemButtonEdit_ButtonClick);
List<string> images = new List<string> { "colAdd.png", "colDelet.png" };
List<string> toolTips = new List<string> { "关联新增", "删除" };
for (int i = 0; i < 2; i++)
{
EditorButton editorButton = new EditorButton();
editorButton.Appearance.BackColor = Color.Transparent;
if (!string.IsNullOrEmpty(images[i]))
{
Image image = null;
try
{
image = Image.FromFile(Util.PubUtil.GridColumnIco + images[i]);
editorButton.Image = image;
}
catch (Exception)
{
}
}
editorButton.ToolTip = toolTips[i];
editorButton.Kind = ButtonPredefines.Glyph;
editorButton.Width = 30;
ItemButtonEdit.Buttons.Add(editorButton);
}
gridColumn.ColumnEdit = ItemButtonEdit;
this.colorSetGrid.GridView.Columns.Insert(0, gridColumn);
this.colorSetGrid.GridView.OptionsBehavior.EditorShowMode = EditorShowMode.MouseDown;
gridColumn.MaxWidth = 2 * 30;
gridColumn.MinWidth = 2 * 30;
gridColumn.Width = 2 * 30;
}
/// <summary>
/// 操作列按钮点击事件
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void OnItemButtonEdit_ButtonClick(object sender, ButtonPressedEventArgs e)
{
DataRow focusedRow = this.colorSetGrid.GridView.GetFocusedDataRow();
EditorButton editorButton = e.Button as EditorButton;
DataTable colorTab = this.colorSetGrid.gridControl.DataSourceTable();
if (editorButton.ToolTip.Equals("关联新增"))
{
DataRow dataRow = this.colorSetGrid.GetViewFocusedDataRow();
if (colorTab != null)
{
DataRow newRow = colorTab.NewRow();
newRow["updid"] = focusedRow["updid"] + "";
Form unionForm = new UnionForm();
DialogResult dialogResult = unionForm.ShowDialog();
if (dialogResult == DialogResult.OK)
{
newRow["unioTip"] = "and";
string updid = focusedRow["updid"] + "";
DataTable dataTable = this.colorSetGrid.gridControl.DataSourceTable();
DataRow[] selectRows = dataTable.Select().Where(n => (n["updid"] + "").Equals(updid)).ToArray();
if (selectRows.Length > 0)
{
string forcecolor = selectRows[0]["forcecolor"] + "";
string backcolor = selectRows[0]["backcolor"] + "";
string ifBold = selectRows[0]["ifBold"] + "";
string ifItalic = selectRows[0]["ifItalic"] + "";
string ifStrickOut = selectRows[0]["ifStrickOut"] + "";
string ifUnderLine = selectRows[0]["ifUnderLine"] + "";
string useflag = selectRows[0]["useflag"] + "";
newRow["forcecolor"] = forcecolor;
newRow["backcolor"] = backcolor;
newRow["ifBold"] = ifBold;
newRow["ifItalic"] = ifItalic;
newRow["ifStrickOut"] = ifStrickOut;
newRow["ifUnderLine"] = ifUnderLine;
newRow["useflag"] = useflag;
}
colorTab.Rows.InsertAt(newRow, colorTab.Rows.IndexOf(focusedRow) + 1);
}
else if (dialogResult == DialogResult.Yes)
{
newRow["unioTip"] = "or";
newRow["ifBold"] = "0";
newRow["ifItalic"] = "0";
newRow["ifStrickOut"] = "0";
newRow["ifUnderLine"] = "0";
newRow["useflag"] = "0";
colorTab.Rows.InsertAt(newRow, colorTab.Rows.IndexOf(focusedRow) + 1);
}
unionForm.Dispose();
this.colorSetGrid.GridView.UpdateCurrentRow();
this.colorSetGrid.GridView.ShowEditor();
}
}
else if (editorButton.ToolTip.Equals("删除"))
{
//DataRow dataRow = this.colorSetGrid.GetViewFocusedDataRow();
//if (colorTab != null)
//{
// colorTab.Rows.Remove(dataRow);
//}
DataRow Focuseitem = this.colorSetGrid.GetViewFocusedDataRow();
int updId = Convert.ToInt32(Focuseitem["updId"] + "");
if (updId < 0)//为新增的虚假数据直接删除
{
this.colorSetGrid.GridView.DeleteSelectedRows();
this.colorSetGrid.GridView.ClearSelection();
this.colorSetGrid.GridView.SelectRow(this.colorSetGrid.GridView.FocusedRowHandle);
}
else
{
if (string.IsNullOrEmpty(Focuseitem["unioTip"] + ""))
{
string DeleteSql = string.Format(@"Delete {0} where id='{1}'", colorTableName, updId);
SqlHelper.ExecuteNonQuery(DeleteSql);
DataRow[] deleteRows = this.colorSetGrid.gridControl.DataSourceTable().Rows.Cast<DataRow>().Where(x => x["updId"].Equals(updId + "")).ToArray();
foreach (DataRow Row in deleteRows)
{
this.colorSetGrid.gridControl.DataSourceTable().Rows.Remove(Row);
}
this.colorSetGrid.GridView.UpdateCurrentRow();
this.colorSetGrid.GridView.ShowEditor();
}
else
{
this.colorSetGrid.GridView.DeleteSelectedRows();
this.colorSetGrid.GridView.ClearSelection();
this.colorSetGrid.GridView.SelectRow(this.colorSetGrid.GridView.FocusedRowHandle);
this.colorSetGrid.GridView.UpdateCurrentRow();
this.colorSetGrid.GridView.ShowEditor();
}
}
}
}
/// <summary>
/// <para>说明:返回计算集合</para>
/// <para>创建人:王一帆</para>
/// <para>创建日期:2020年12月28日 </para>
/// <para>修改人:</para>
/// <para>修改日期:</para>
/// <para>修改备注:</para>
/// <para>版本:1.0</para>
/// </summary>
/// <returns></returns>
public string[] GetCalculation(string cond, out string CalString)
{
CalString = "=";
if (cond.Contains("<>"))
{
CalString = "<>";
}
else if (cond.Contains("="))
{
CalString = "=";
}
else if (cond.Contains(">"))
{
CalString = ">";
}
else if (cond.Contains("<"))
{
CalString = "<";
}
return cond.Split(new string[] { CalString }, StringSplitOptions.None);
}
/// <summary>
/// 下方表格保存
/// </summary>
public void saveTheBelow()
{
//先删除当前模块全部的颜色条件
string sql = string.Format("delete {0} where tab='{1}'", colorTableName, ModelKey);
//保存当前表中数据
string saveSql = @"insert into {0}(tab,condition,forcecolor,backcolor,orderid,useflag,ifBold,ifItalic,ifStrickOut,ifUnderLine)
values('{1}','{2}','{3}','{4}','{5}','{6}','{7}','{8}','{9}','{0}')";
}
//创建颜色条件表格列
private void creatDetailControl()
{
RepositoryItemLookUpEdit repositoryItemLookUpEdit = new RepositoryItemLookUpEdit();
//RepositoryItemComboBox userNameItemComboBox = new RepositoryItemComboBox();
if (ObjGridcontrol != null && ObjGridcontrol.DataSource != null)
{
DataTable dataTable = ObjGridcontrol.DataSource as DataTable;
DataTable sourceTab = new DataTable();
sourceTab.Columns.Add("dm");
sourceTab.Columns.Add("mc");
foreach (DataRow dr in dataTable.Rows)
{
if (!columnName.ContainsKey(dr["fieldname"] + ""))
{
DataRow dataRow = sourceTab.NewRow();
columnName.Add(dr["fieldname"] + "", dr[username] + "");
dataRow["dm"] = dr["fieldname"] + "";
dataRow["mc"] = dr[username] + "";
sourceTab.Rows.Add(dataRow);
}
}
repositoryItemLookUpEdit.DataSource = sourceTab;
repositoryItemLookUpEdit.AllowFocused = true;
repositoryItemLookUpEdit.TextEditStyle = TextEditStyles.Standard;
repositoryItemLookUpEdit.ValueMember = "dm";
repositoryItemLookUpEdit.DisplayMember = "mc";
repositoryItemLookUpEdit.ShowHeader = false;
repositoryItemLookUpEdit.NullText = "";
repositoryItemLookUpEdit.Columns.Add(new LookUpColumnInfo("mc"));
}
GridColumn userNameColumn = new GridColumn();
userNameColumn.Caption = "用户名称";
userNameColumn.FieldName = "userName";
userNameColumn.Visible = true;
userNameColumn.VisibleIndex = 1;
userNameColumn.ColumnEdit = repositoryItemLookUpEdit;
GridColumn fieldnameColumn = new GridColumn();
fieldnameColumn.Caption = "系统名称";
fieldnameColumn.FieldName = "fieldname";
fieldnameColumn.Visible = false;
fieldnameColumn.VisibleIndex = 2;
RepositoryItemComboBox operationItemComboBox = new RepositoryItemComboBox();
operationItemComboBox.Items.Add(">");
operationItemComboBox.Items.Add("<");
operationItemComboBox.Items.Add("=");
operationItemComboBox.Items.Add("<>");
operationItemComboBox.QueryPopUp += OperationItemComboBox_QueryPopUp;
operationItemComboBox.TextEditStyle = TextEditStyles.DisableTextEditor;
GridColumn operationColumn = new GridColumn();
operationColumn.Caption = "操作";
operationColumn.FieldName = "operation";
operationColumn.ColumnEdit = operationItemComboBox;
operationColumn.Visible = true;
operationColumn.VisibleIndex = 3;
GridColumn ComparingValuesColumn = new GridColumn();
ComparingValuesColumn.Caption = "值";
ComparingValuesColumn.FieldName = "ComparingValues";
ComparingValuesColumn.Visible = true;
ComparingValuesColumn.VisibleIndex = 4;
RepositoryItemCheckEdit checkEdit = new RepositoryItemCheckEdit();
checkEdit.ValueChecked = 1;
checkEdit.ValueUnchecked = 0;
checkEdit.ValueGrayed = 3;
RepositoryItemColorPickEdit repositoryItemForcecolorPickEdit = new RepositoryItemColorPickEdit();
repositoryItemForcecolorPickEdit.EditValueChanging += new DevExpress.XtraEditors.Controls.ChangingEventHandler(OnColorPickEdit);
RepositoryItemColorPickEdit repositoryItemBackcolorPickEdit = new RepositoryItemColorPickEdit();
repositoryItemBackcolorPickEdit.EditValueChanging += new DevExpress.XtraEditors.Controls.ChangingEventHandler(OnBackEditValueChanging);
GridColumn forcecolorColumn = new GridColumn();
forcecolorColumn.Caption = "前景色";
forcecolorColumn.FieldName = "forcecolor";
forcecolorColumn.Visible = true;
forcecolorColumn.VisibleIndex = 6;
forcecolorColumn.ColumnEdit = repositoryItemForcecolorPickEdit;
GridColumn backcolorColumn = new GridColumn();
backcolorColumn.Caption = "背景色";
backcolorColumn.FieldName = "backcolor";
backcolorColumn.Visible = true;
backcolorColumn.VisibleIndex = 7;
backcolorColumn.ColumnEdit = repositoryItemBackcolorPickEdit;
GridColumn ifBoldColumn = new GridColumn();
ifBoldColumn.Caption = "加粗";
ifBoldColumn.FieldName = "ifBold";
ifBoldColumn.ColumnEdit = checkEdit;
ifBoldColumn.Visible = true;
ifBoldColumn.VisibleIndex = 8;
GridColumn ifItalicColumn = new GridColumn();
ifItalicColumn.Caption = "倾斜";
ifItalicColumn.FieldName = "ifItalic";
ifItalicColumn.ColumnEdit = checkEdit;
ifItalicColumn.Visible = true;
ifItalicColumn.VisibleIndex = 9;
GridColumn ifStrickOutColumn = new GridColumn();
ifStrickOutColumn.Caption = "删除线";
ifStrickOutColumn.FieldName = "ifStrickOut";
ifStrickOutColumn.ColumnEdit = checkEdit;
ifStrickOutColumn.Visible = true;
ifStrickOutColumn.VisibleIndex = 10;
GridColumn iifUnderLineColumn = new GridColumn();
iifUnderLineColumn.Caption = "下划线";
iifUnderLineColumn.FieldName = "ifUnderLine";
iifUnderLineColumn.ColumnEdit = checkEdit;
iifUnderLineColumn.Visible = true;
iifUnderLineColumn.VisibleIndex = 11;
GridColumn useflagColumn = new GridColumn();
useflagColumn.Caption = "禁用";
useflagColumn.FieldName = "useflag";
useflagColumn.ColumnEdit = checkEdit;
useflagColumn.Visible = true;
useflagColumn.VisibleIndex = 12;
this.colorSetGrid.GridView.Columns.AddRange(new GridColumn[] {
userNameColumn,
//fieldnameColumn,
operationColumn,
ComparingValuesColumn,
forcecolorColumn,
backcolorColumn,
ifBoldColumn,
ifItalicColumn,
ifStrickOutColumn,
iifUnderLineColumn,
useflagColumn
});
InitRightMenuBtnEdit();
}
//刷新下方颜色设置表格
private void ObjGridView_FocusedRowObjectChanged(object sender, FocusedRowObjectChangedEventArgs e)
{
this.colorSetGrid.GridView.AddNewRow();
if (string.IsNullOrEmpty(colorTableName)) return;
GridView gridView = sender as GridView;
DataRow rowItem = gridView.GetFocusedDataRow();
string fieldname = rowItem["fieldname"] + "";
//判断是否为数值
bool isNumerical = false;
if (rowItem.Table.Columns.Contains("fieldsqlTag"))
{
isNumerical = (rowItem["fieldsqlTag"] + "").Equals("7");
}
else if (rowItem.Table.Columns.Contains("fieldTypeId"))
{
isNumerical = (rowItem["fieldsqlTag"] + "").Equals("7");
}
if (isNumerical)
{
//获得当前模块全部条件
string sql = string.Format("select * from {0} where tab='{1}'", colorTableName, ModelKey);
DataTable dataTable = SqlHelper.ExecuteDataTable(sql);
this.colorSetGrid.gridControl.DataSource = dataTable;
}
}
#endregion
#region 格式化数据源初始化
/// <summary>
/// <para>说明:初始化绑定列数据源</para>
/// <para>创建人:王一帆</para>
/// <para>创建日期:2020年12月28日 </para>
/// <para>修改人:</para>
/// <para>修改日期:</para>
/// <para>修改备注:</para>
/// <para>版本:1.0</para>
/// </summary>
/// <param name="e">The <see cref="EventArgs"/> instance containing the event data.</param>
protected void InitColumnData(RepositoryItemLookUpEdit comboxEdit)
{
DataTable ColumnFormat = SqlHelper.ExecuteDataTable("select formatString,remark from p_systemdataformat");
comboxEdit.ShowHeader = false;
comboxEdit.ImmediatePopup = false;
comboxEdit.SearchMode = SearchMode.AutoFilter;
comboxEdit.NullText = "";
comboxEdit.PopupBorderStyle = PopupBorderStyles.Flat;
comboxEdit.AllowNullInput = DefaultBoolean.False;
comboxEdit.DisplayMember = "remark";
comboxEdit.ValueMember = "formatString";
comboxEdit.DataSource = ColumnFormat;
LookUpColumnInfo valueColumn = new LookUpColumnInfo();
valueColumn.Caption = "编码";
valueColumn.FieldName = "formatString";
valueColumn.Visible = false;
LookUpColumnInfo textColumn = new LookUpColumnInfo();
textColumn.Caption = "名称";
textColumn.FieldName = "remark";
comboxEdit.Columns.AddRange(new LookUpColumnInfo[] { valueColumn, textColumn });
}
/// <summary>
/// <para>说明:初始化绑定列数据源 类型</para>
/// <para>创建人:曹屹峰</para>
/// <para>创建日期:2021年7月7日 </para>
/// <para>修改人:</para>
/// <para>修改日期:</para>
/// <para>修改备注:</para>
/// <para>版本:1.0</para>
/// </summary>
/// <param name="e">The <see cref="EventArgs"/> instance containing the event data.</param>
protected void InitColumnData2(RepositoryItemLookUpEdit comboxEdit)
{
DataTable ColumnFormat = SqlHelper.ExecuteDataTable(" select 0 as showid,'字符串' as showname union all select 1 as showid,'下拉框返回ID' as showname union all select 2 as showid,'下拉框返回名称' as showname union all select 35 as showid,'下拉框返回ID-带参数' as showname union all select 23 as "
+ "showid,'下拉框返回名称-带参数' as showname union all select 3 as showid,'树型结点关联' as showname union all select 4 as showid,'日期类型框' as showname union all select 44 as showid,'日期时间类型框(时分秒)' as showname union "
+ " all select 444 as showid,'日期时间类型框(时分)' as showname union all select 4444 as showid,'时间类型框(时分秒)' as showname union all select 44444 as showid,'时间类型框(时分)' as showname union all select 5 as "
+ "showid,'搜索框返回ID' as showname union all select 6 as showid,'搜索框返回名称' as showname union all select 38 as showid,'智能搜索返回ID' as showname union all select 39 as showid,'智能搜索返回名称' as showname union "
+ "all select 40 as showid,'智能搜索返回ID-带参数' as showname union all select 41 as showid,'智能搜索返回名称-带参数' as showname union all select 15 as showid,'搜索框返回ID-带参数' as showname union all "
+ "select 16 as showid,'搜索框返回名称-带参数' as showname union all select 17 as showid,'复选框' as showname union all select 18 as showid,'下拉复选返回代码' as showname union all select 19 as showid,'下拉复选返回名称' as showname union all select 7 "
+ "as showid,'数值' as showname union all select 27 as showid,'数值-计算器' as showname union all select 8 as showid,'密码框' as showname union all select 9 as showid,'备注框' as "
+ "showname union all select 20 as showid,'备注框A' as showname union all select 10 as showid,'网址框' as showname union all select 11 as showid,'QQ框' as showname "
+ "union all select 12 as showid,'电话类型' as showname union all select 13 as showid,'多选返回ID' as showname union all select 14 as "
+ "showid,'多选返回名称' as showname union all select 33 as showid,'多选返回ID-带参数' as showname union all select 34 as showid,'多选返回名称-带参数' as showname union all select 37 as showid,'富文本编辑框' as showname union all select 96 as showid,'进度条' as showname union all select 97 as showid,'地图定位' as showname union all select 98 as showid,'条码类型' as showname union all select 99 as showid,'图片' as showname union all select 100 as showid,'图片扩展' as showname union all select 101 as showid,'二维码' as showname union all select 102 as showid,'下拉返回ID弹出' as showname union all select 103 as showid,'下拉返回名称弹出' as showname union all select 104 as showid,'多选返回ID弹出' as showname union all select 105 as showid,'多选返回名称弹出' as showname union all select 106 as showid,'单选钮返回ID' as showname union all select 107 as showid,'单选钮返回名称' as showname union all select 108 as showid,'数值型扩展' as showname union all select 109 as showid,'弹出表格单选返回ID' as showname union all select 110 as showid,'弹出表格单选返回名称' as showname union all select 111 as showid,'弹出表格多选返回ID' as showname union all select 112 as showid,'弹出表格多选返回名称' as showname union all select 113 as showid,'下拉返回ID弹出-带参数' as showname union all select 114 as showid,'下拉返回名称弹出-带参数' as showname union all select 115 as showid,'凭证金额' as showname union all select 116 as showid,'模块选择返回ID' as showname union all select 117 as showid,'模块选择返回名称' as showname union all select 118 as showid,'树型下拉返回ID' as showname union all select 119 as showid,'树型下拉返回名称' as showname union all select 120 as showid,'树型下拉返回ID-带参数' as showname union all select 121 as showid,'树型下拉返回名称-带参数' as showname union all select 122 as showid,'树型下拉返回ID末级' as showname union all select 123 as showid,'树型下拉返回名称末级' as showname union all select 124 as showid,'树型下拉返回ID末级-带参数' as showname union all select 125 as showid,'树型下拉返回名称末级-带参数' as showname ");
comboxEdit.ShowHeader = false;
comboxEdit.ImmediatePopup = false;
comboxEdit.SearchMode = SearchMode.AutoFilter;
comboxEdit.NullText = "";
comboxEdit.PopupBorderStyle = PopupBorderStyles.Flat;
comboxEdit.AllowNullInput = DefaultBoolean.False;
comboxEdit.DisplayMember = "showname";
comboxEdit.ValueMember = "showid";
comboxEdit.DataSource = ColumnFormat;
LookUpColumnInfo valueColumn = new LookUpColumnInfo();
valueColumn.Caption = "ID";
valueColumn.FieldName = "showid";
valueColumn.Visible = false;
LookUpColumnInfo textColumn = new LookUpColumnInfo();
textColumn.Caption = "名称";
textColumn.FieldName = "showname";
comboxEdit.Columns.AddRange(new LookUpColumnInfo[] { valueColumn, textColumn });
}
#endregion
/// <summary>
/// 构建复杂界面
/// </summary>
private void InitMultiple(string cond, DataRow dataRow, int i = 0)
{
string[] condsplit = cond.Split(new string[] { "and" }, StringSplitOptions.None);
string unioTip = "and";
if (condsplit.Count() == 1)
{
condsplit = cond.Split(new string[] { "or" }, StringSplitOptions.None);
unioTip = "or";
}
if (condsplit.Count() > 1)
{
i = 0;
foreach (string condlist in condsplit)
{
InitMultiple(condlist, dataRow, i);
i++;
}
}
else
{
DataRow dr = newColorTab.NewRow();
string CalString = "";
string[] newCal = GetCalculation(cond, out CalString);
if (newCal.Count() == 2)
{
string fieldName = newCal[0].Replace("'", "").Replace("{", "").Replace("}", "");
dr["userName"] = fieldName.Trim();
dr["ComparingValues"] = newCal[1].Replace("'", "");
dr["operation"] = CalString;
dr["orderid"] = dataRow["orderid"];
dr["forcecolor"] = dataRow["forcecolor"];
dr["backcolor"] = dataRow["backcolor"];
dr["useflag"] = dataRow["useflag"];
dr["ifBold"] = dataRow["ifBold"];
dr["ifItalic"] = dataRow["ifItalic"];
dr["ifStrickOut"] = dataRow["ifStrickOut"];
dr["ifUnderLine"] = dataRow["ifUnderLine"];
dr["updId"] = dataRow["id"];
if (i != 0) dr["unioTip"] = unioTip;
}
else
{
dr["updId"] = dataRow["id"];
}
newColorTab.Rows.Add(dr);
}
}
#region 修改表数据初始化
/// <summary>
/// <para>说明:初始化修改表列数据</para>
/// <para>创建人:王一帆</para>
/// <para>创建日期:2020年12月28日 </para>
/// <para>修改人:</para>
/// <para>修改日期:</para>
/// <para>修改备注:</para>
/// <para>版本:1.0</para>
/// </summary>
/// <param name="e">The <see cref="EventArgs"/> instance containing the event data.</param>
protected void InitGridControl()
{
//InitColumnData(repositoryItemLookUpEdit1);
//InitColumnData(repositoryItemLookUpEdit2);
//InitColumnData(repositoryItemLookUpEdit3);
//InitColumnData(repositoryItemLookUpEdit4);
//InitColumnData(repositoryItemLookUpEdit5);
string[] keys = Key.Split('_');
if (ERPInfo.Instance.UserName == "管理员" && keys.Count() > 1)
{
string ModuleTypes = keys[0];
string ModuleKey = keys[1];
int ModelType = ControlType.ModelType(ModuleTypes);
string tmpsql = string.Empty;
colTable = string.Empty;
keyField = string.Empty;
stepCode = string.Empty;
//DXMenuItem item = sender as DXMenuItem;
//GridView grv = item.Tag as GridView;
//基础档案主表
colorTableName = "p_systemwordbookcolor";
if (ModelType == 1 || ModelType == 2)
{
colorTableName = "p_systemwordbookcolor";
colTable = "p_systemwordbooktab";
tmpsql = "select * from p_systemwordbooktab where formKey='" + ModuleKey + "' order by orderid";
object obj = SqlHelper.ExecuteScalar(CommandType.Text, tmpsql);
if (obj != null)
{
gridColumn37.DisplayFormat.FormatType = FormatType.Custom;
gridColumn37.DisplayFormat.FormatString = "0.#";
keyField = "formKey";
ObjGridcontrol = gcMain;
ObjGridView = gvMain;
gcMain.Visible = true;
ModelKey = this.SysModel.ModuleCode;
InitColumnData(repositoryItemLookUpEdit1);
InitColumnData2(repositoryItemLookUpEdit1_2);
}
}
if (ModelType == 2 && string.IsNullOrEmpty(keyField))
{
colTable = "p_systemDlltabDetailGrid";
tmpsql = "select top 1 orderid from p_systemDlltabDetailGrid where detailKey='" + ModuleKey + "' order by orderid";
object obj = SqlHelper.ExecuteScalar(CommandType.Text, tmpsql);
if (obj != null)
{
gridColumn40.DisplayFormat.FormatType = FormatType.Custom;
gridColumn40.DisplayFormat.FormatString = "0.#";
keyField = "detailKey";
ObjGridcontrol = gcMain2;
ObjGridView = gvMain2;
gcMain2.Visible = true;
ModelKey = ModuleKey;
InitColumnData(repositoryItemLookUpEdit2);
InitColumnData2(repositoryItemLookUpEdit2_2);
}
}
////单据明细
if (ModelType == 3)
{
gridColumn34.DisplayFormat.FormatType = FormatType.Custom;
gridColumn34.DisplayFormat.FormatString = "0.#";
colTable = "p_systembillDetail";
keyField = "typecode";
ModuleKey = SysModel.ModuleCode;
DataTable dataTable = SqlHelper.ExecuteDataTable(string.Format("select * from p_systembilltype where typecode='{0}'", SysModel.ModuleCode));
if (dataTable != null && dataTable.Rows.Count > 0)
{
DataRow dataRow = dataTable.Rows[0];
this.ModelKey = "BILLDETAIL_" + (dataRow["formKey"] + "").ToUpper();
}
ObjGridcontrol = gcMain3;
ObjGridView = gvMain3;
gcMain3.Visible = true;
InitColumnData(repositoryItemLookUpEdit3);
InitColumnData2(repositoryItemLookUpEdit3_2);
}
////单据来源主信息
if (ModelType == 4)
{
gridColumn33.DisplayFormat.FormatType = FormatType.Custom;
gridColumn33.DisplayFormat.FormatString = "0.#";
colTable = "p_systembillsourcegrid";
keyField = "sourcekey";
DataTable dataTable = SqlHelper.ExecuteDataTable(string.Format("select * from p_systembillsource where typecode='{0}'", SysModel.ModuleCode));
if (dataTable != null && dataTable.Rows.Count > 0)
{
DataRow dataRow = dataTable.Rows[0];
this.ModelKey = "BILLSOURCE_" + (dataRow["formKey"] + "").ToUpper();
}
ObjGridcontrol = gcMain4;
ObjGridView = gvMain4;
gcMain4.Visible = true;
InitColumnData(repositoryItemLookUpEdit4);
InitColumnData2(repositoryItemLookUpEdit4_2);
}
////单据来源明细信息
if (ModelType == 5)
{
gridColumn33.DisplayFormat.FormatType = FormatType.Custom;
gridColumn33.DisplayFormat.FormatString = "0.#";
colTable = "p_systembillsourcedetail";
keyField = "sourcekey";
DataTable dataTable = SqlHelper.ExecuteDataTable(string.Format("select * from p_systembillsource where typecode='{0}'", SysModel.ModuleCode));
if (dataTable != null && dataTable.Rows.Count > 0)
{
DataRow dataRow = dataTable.Rows[0];
this.ModelKey = "SOURCEDETAIL_" + (dataRow["formKey"] + "").ToUpper();
}
ObjGridcontrol = gcMain4;
ObjGridView = gvMain4;
gcMain4.Visible = true;
InitColumnData(repositoryItemLookUpEdit4);
InitColumnData2(repositoryItemLookUpEdit4_2);
}
//单据审核列表
if (ModelType == 6)
{
gridColumn43.DisplayFormat.FormatType = FormatType.Custom;
gridColumn43.DisplayFormat.FormatString = "0.#";
colTable = "p_systembillstepgrid";
keyField = "typeCode";
if (!string.IsNullOrEmpty(ModuleKey) && keys.Length == 5)
{
ModuleKey = keys[2];
stepCode = keys[3];
}
ObjGridcontrol = gcMain5;
ObjGridView = gvMain5;
gcMain5.Visible = true;
InitColumnData(repositoryItemLookUpEdit5);
InitColumnData2(repositoryItemLookUpEdit5_2);
}
//基础档案审核列表
if (ModelType == 7)
{
gridColumn43.DisplayFormat.FormatType = FormatType.Custom;
gridColumn43.DisplayFormat.FormatString = "0.#";
colTable = "p_systemdlltabflowstepgrid";
keyField = "typeCode";
if (!string.IsNullOrEmpty(ModuleKey) && keys.Length == 5)
{
ModuleKey = keys[2];
stepCode = keys[3];
}
ObjGridcontrol = gcMain5;
ObjGridView = gvMain5;
gcMain5.Visible = true;
InitColumnData(repositoryItemLookUpEdit5);
InitColumnData2(repositoryItemLookUpEdit5_2);
}
// 单据审核附加信息
if (ModelType == 8)
{
gridColumn33.DisplayFormat.FormatType = FormatType.Custom;
gridColumn33.DisplayFormat.FormatString = "0.#";
colTable = "p_systembillauditAttachDetail";
keyField = "attachKey";
ObjGridcontrol = gcMain4;
ObjGridView = gvMain4;
gcMain4.Visible = true;
InitColumnData(repositoryItemLookUpEdit4);
InitColumnData2(repositoryItemLookUpEdit4_2);
}
if (ModelType != 0 && !string.IsNullOrEmpty(keyField))
{
string sqlValue = string.Format("select * from {0} where {1}='{2}' order by orderid", colTable, keyField, ModuleKey);
if (ModelType == 7 || ModelType == 6)
sqlValue = string.Format("select * from {0} where {1}='{2}' and stepCode='{3}' order by orderid", colTable, keyField, ModuleKey, stepCode);
this.ObjGridcontrol.DataSource = SqlHelper.ExecuteDataTable(sqlValue);
if (ObjGridcontrol == gcMain) username = "username1";
this.ObjGridView.CustomDrawRowIndicator += new RowIndicatorCustomDrawEventHandler(OnGridViewCustomDrawRowIndicator);
}
}
}
#endregion
#endregion
#region 事件相关
#region 模糊查询事件
/// <summary>
/// <para>说明:用户值改变后</para>
/// <para>创建人:王一帆</para>
/// <para>创建日期:2020-12-28 </para>
/// <para>修改人:</para>
/// <para>修改日期:</para>
/// <para>修改备注:</para>
/// <para>版本:1.0</para>
/// </summary>
/// <param name="sender">The sender.</param>
/// <param name="e">The <see cref="EventArgs"/> instance containing the event data.</param>
void OnUserEditValueChanged(object sender, EventArgs e)
{
try
{
//【TextEdit】判断是否为空
if (lab_search.EditText.ToString() != "")
{
string txtid = lab_search.EditText.Trim().ToString();
//grv是gridview的名字,【开始模糊查询】
ObjGridView.ActiveFilter.Add(null, new DevExpress.XtraGrid.Columns.ColumnFilterInfo(string.Format("fieldname like '%{0}%' Or {1} like '%{0}%'", txtid, username)));
}
else
{
//表示清除模糊查询
ObjGridView.ActiveFilter.Clear();
}
}
catch (Exception ex)
{
string Message = ErrorMessage.PromptErrorMessage(ex);
MessageUtil.Show(Message, ex.Message);
}
}
#endregion
#region 序号生成事件
/// <summary>
/// <para>说明:生成序号</para>
/// <para>创建人:王一帆</para>
/// <para>创建日期:2020-12-31 </para>
/// <para>修改人:</para>
/// <para>修改日期:</para>
/// <para>修改备注:</para>
/// <para>版本:1.0</para>
/// </summary>
/// <param name="sender">The source of the event.</param>
/// <param name="e">The <see cref="RowIndicatorCustomDrawEventArgs"/> instance containing the event data.</param>
protected virtual void OnGridViewCustomDrawRowIndicator(object sender, RowIndicatorCustomDrawEventArgs e)
{
try
{
e.Appearance.TextOptions.HAlignment = HorzAlignment.Center;
if (e.Info.IsRowIndicator)
{
if (e.RowHandle >= 0)
{
e.Info.DisplayText = (e.RowHandle + 1).ToString();
}
}
}
catch (Exception)
{
}
}
#endregion
#endregion
#region 按钮事件相关
#region 保存按钮执行事件
/// <summary>
/// <para>说明:执行保存事件</para>
/// <para>创建人:王一帆</para>
/// <para>创建日期:2020年12月28日 </para>
/// <para>修改人:</para>
/// <para>修改日期:</para>
/// <para>修改备注:</para>
/// <para>版本:1.0</para>
/// </summary>
/// <param name="e">The <see cref="EventArgs"/> instance containing the event data.</param>
private void OnbtnSaveClick(object sender, EventArgs e)
{
try
{
if (isAllUpda.EditText == "1")
{
if (dictionary.Count > 0)
{
foreach (string item in dictionary.Keys)
{
DataRow itemRow = dictionary[item];
string updateSql = "update {0} set {1} where {2}='{3}';";
string updateFields = string.Empty;
string BaseSql = string.Empty;
foreach (GridColumn column in ObjGridView.Columns)
{
updateFields += string.Format("[{0}]='{1}',", column.FieldName, (itemRow[column.FieldName] + "").Replace("'", "''"));
}
updateFields = updateFields.TrimEnd(',');
if (!string.IsNullOrEmpty(updateFields))
{
BaseSql = string.Format(updateSql, colTable, updateFields, "fieldname", item);
if (SqlHelper.ExecuteNonQuery(BaseSql) > 0)
{
MessageUtil.Show(ResourceKeys.SaveSuccess);
}
}
}
dictionary.Clear();
}
else
{
MessageUtil.Show("请先预览会一并修改的模块!");
}
}
else
{
this.ObjGridcontrol.NewGridSaveData(colTable, ObjGridView);
}
}
catch (Exception ex)
{
throw;
}
}
#endregion
#region 下方颜色保存事件
private void OnColorSaveBtn_Click(object sender, EventArgs e)
{
saveCalCond();
this.addIndex = -1;
saveOrderId();
InitBelowGridControl();
MessageUtil.Show("设置颜色成功!重新打开模块生效!");
}
#endregion
#region 添加按钮
private void OnAddBtn_Click(object sender, EventArgs e)
{
DataTable colorTab = this.colorSetGrid.gridControl.DataSourceTable();
if (colorTab != null)
{
DataRow newRow = colorTab.NewRow();
newRow["updid"] = this.addIndex;
colorTab.Rows.Add(newRow);
newRow["ifBold"] = "0";
newRow["ifItalic"] = "0";
newRow["ifStrickOut"] = "0";
newRow["ifUnderLine"] = "0";
newRow["useflag"] = "0";
this.colorSetGrid.GridView.UpdateCurrentRow();
this.colorSetGrid.GridView.ShowEditor();
this.addIndex--;
}
}
#endregion
#region MyRegion
/// <summary>
/// 保存时转换计算公式自动生成
/// </summary>
public void saveCalCond(bool iStip = true)
{
Dictionary<string, DataRow[]> DictUptList = new Dictionary<string, DataRow[]>();//修改的list集合
DataTable dataTable = this.colorSetGrid.gridControl.DataSourceTable();
string detailBuilder = string.Empty;
List<BaseSaveModel> mList = new List<BaseSaveModel>();
DataRow[] modifiedRows = (dataTable as DataTable)
.Rows
.Cast<DataRow>()
.Where(x => x.RowState == DataRowState.Modified || x.RowState == DataRowState.Added)
.ToArray();
if (modifiedRows == null || modifiedRows.Length == 0)
{
MessageUtil.Show(ResourceKeys.UnUpdateData);
return;
}
foreach (DataRow row in modifiedRows)
{
string updId = row["updId"] + "";
if (!DictUptList.ContainsKey(updId))
{
DataRow[] updRows = modifiedRows.Cast<DataRow>().Where(x => x["updId"].Equals(updId)).ToArray();
DictUptList.Add(updId, updRows);
}
}
foreach (string uptid in DictUptList.Keys)
{
if (Convert.ToInt32(uptid) < 0)
{ //新增构建
DataRow[] newDataRow = DictUptList[uptid];
string insertSql = "insert into {0}({1}) values({2});";
string lastName = string.Empty;
string condition = string.Empty;
foreach (DataRow dataRow in newDataRow)
{
int vsNum;
string unioTip = dataRow["unioTip"] + "";
string fielText = dataRow["userName"] + "";
string fielValue = dataRow["ComparingValues"] + "";
string fielCal = dataRow["operation"] + "";
bool isInt = Int32.TryParse(fielValue, out vsNum);
string fiedName = "";
fiedName = isInt ? string.Format("{0}{1}{2}", '{' + fielText + '}', fielCal, fielValue) : string.Format("'{0}'{1}'{2}'", '{' + fielText + '}', fielCal, fielValue);
if (!string.IsNullOrEmpty(unioTip))
{
condition += " " + unioTip + " " + fiedName;
}
else
{
condition += fiedName;
}
}
DataRow FielRow = newDataRow[0];
string forcecolor = FielRow["forcecolor"] + "";
string backcolor = FielRow["backcolor"] + "";
string ifBold = FielRow["ifBold"] + "";
string ifItalic = FielRow["ifItalic"] + "";
string useflag = FielRow["useflag"] + "";
string ifStrickOut = FielRow["ifStrickOut"] + "";
string ifUnderLine = FielRow["ifUnderLine"] + "";
//string updateSql = string.Format("insert into p_systemwordbookcolor set condition='{0}',forcecolor='{1}',backcolor='{2}',ifBold='{3}',ifItalic='{4}',ifStrickOut='{5}',ifUnderLine='{6}' where id='{7}'", condition, forcecolor, backcolor, ifBold, ifItalic, ifStrickOut, ifUnderLine);
detailBuilder += string.Format(insertSql, colorTableName, "condition,forcecolor,backcolor,ifBold,ifItalic,ifStrickOut,ifUnderLine,tab,useflag", string.Format("'{0}','{1}','{2}','{3}','{4}','{5}','{6}','{7}','{8}'", condition.Replace("'", "''"), forcecolor, backcolor, ifBold, ifItalic, ifStrickOut, ifUnderLine, ModelKey, useflag));
}
else
{ //修改
DataRow[] newDataRow = DictUptList[uptid];
//string lastName = string.Empty;
string condition = string.Empty;
foreach (DataRow dataRow in newDataRow)
{
int vsNum;
string unioTip = dataRow["unioTip"] + "";
string fielText = dataRow["userName"] + "";
string fielValue = dataRow["ComparingValues"] + "";
string fielCal = dataRow["operation"] + "";
bool isInt = Int32.TryParse(fielValue, out vsNum);
string fiedName = "";
fiedName = isInt ? string.Format("{0}{1}{2}", '{' + fielText + '}', fielCal, fielValue) : string.Format("'{0}'{1}'{2}'", '{' + fielText + '}', fielCal, fielValue);
if (!string.IsNullOrEmpty(unioTip))
{
condition += " " + unioTip + " " + fiedName;
}
else
{
condition += fiedName;
}
}
DataRow FielRow = newDataRow[0];
string forcecolor = FielRow["forcecolor"] + "";
string backcolor = FielRow["backcolor"] + "";
string useflag = FielRow["useflag"] + "";
string ifBold = FielRow["ifBold"] + "";
string ifItalic = FielRow["ifItalic"] + "";
string ifStrickOut = FielRow["ifStrickOut"] + "";
string ifUnderLine = FielRow["ifUnderLine"] + "";
string updateSql = string.Format(@"update {9} set condition='{0}',forcecolor='{1}',backcolor='{2}',ifBold='{3}',ifItalic='{4}',ifStrickOut='{5}',ifUnderLine='{6}',useflag='{8}' where id='{7}';", condition.Replace("'", "''"), forcecolor, backcolor, ifBold, ifItalic, ifStrickOut, ifUnderLine, uptid, useflag, colorTableName);
detailBuilder += updateSql;
}
}
try
{
if (SqlHelper.ExecuteNonQuery(detailBuilder.ToString()) > 0 && iStip)
{
MessageUtil.Show(ResourceKeys.SaveSuccess);
}
}
catch (Exception ex)
{
MessageUtil.Show(ex);
}
}
#endregion
#region 保存后生成Orderid
private void saveOrderId()
{
try
{
DataTable dataTable = SqlHelper.ExecuteDataTable(string.Format(@"select id,'' as userName,'' as operation,'' as ComparingValues,orderid,condition,forcecolor,backcolor,
isnull(ifBold, 0) as ifBold, isnull(ifItalic, 0) as ifItalic, isnull(ifStrickOut, 0) as ifStrickOut,
isnull(ifUnderLine, 0) as ifUnderLine, isnull(useflag, 0) as useflag
from {1} where tab = '{0}' order by id", ModelKey, colorTableName));
string updateSqls = "";
for (int i = 0; i < dataTable.Rows.Count; i++)
{
DataRow row = dataTable.Rows[i];
string updateSql = "update {2} set orderid='{0}' where id='{1}';";
updateSql = string.Format(updateSql, i + 1, row["id"] + "", colorTableName);
updateSqls += updateSql;
}
if (!string.IsNullOrEmpty(updateSqls))
{
SqlHelper.ExecuteNonQuery(updateSqls);
}
}
catch (Exception ex)
{
MessageUtil.Show(ex);
}
}
#endregion
#region 预览功能按钮点击事件
/// <summary>
/// <para>说明:执行预览所有修改字段功能</para>
/// <para>创建人:王一帆</para>
/// <para>创建日期:2020年12月29日 </para>
/// <para>修改人:</para>
/// <para>修改日期:</para>
/// <para>修改备注:</para>
/// <para>版本:1.0</para>
/// </summary>
/// <param name="e">The <see cref="EventArgs"/> instance containing the event data.</param>
private void OnbtnPreview(object sender, EventArgs e)
{
try
{
List<string> mList = new List<string>();
DataRow[] modifiedRows = (ObjGridcontrol.DataSource as DataTable).Rows.Cast<DataRow>().Where(x => x.RowState == DataRowState.Modified || x.RowState == DataRowState.Added).ToArray();
string modified = string.Empty;
dictionary.Clear();
if (modifiedRows == null || modifiedRows.Length == 0)
{
MessageUtil.Show("未发现修改的数据!");
return;
}
foreach (DataRow item in modifiedRows)
{
modified += "'" + item["fieldname"] + "'" + ",";
dictionary.Add(item["fieldname"] + "", item);
}
modified = modified.TrimEnd(',');
PreviewFrom previewFrom = new PreviewFrom();
DataTable dt = SqlHelper.ExecuteDataTable(string.Format("select * from {0} where {1} in ({2}) order by orderid", colTable, "fieldname", modified));
previewFrom.iniControls(dt, colTable);
previewFrom.ShowDialog();
}
catch (Exception ex)
{
string Message = ErrorMessage.PromptErrorMessage(ex);
MessageUtil.Show(Message, ex.Message);
LogUtil.WriteError("预览修改字段出错!", ex);
//MessageUtil.Show("预览修改字段出错!" + ex);
}
}
#endregion
/// <summary>
/// 颜色选择改变时
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void OnColorPickEdit(object sender, DevExpress.XtraEditors.Controls.ChangingEventArgs e)
{
Color colorChoosed = (Color)e.NewValue;
string colorHtml = ColorTranslator.ToHtml(System.Drawing.Color.FromArgb(colorChoosed.R, colorChoosed.G, colorChoosed.B));
this.colorSetGrid.GridView.SetRowCellValue(this.colorSetGrid.GridView.FocusedRowHandle, "forcecolor", (object)colorHtml);
}
private void OnBackEditValueChanging(object sender, DevExpress.XtraEditors.Controls.ChangingEventArgs e)
{
Color colorChoosed = (Color)e.NewValue;
string colorHtml = ColorTranslator.ToHtml(System.Drawing.Color.FromArgb(colorChoosed.R, colorChoosed.G, colorChoosed.B));
this.colorSetGrid.GridView.SetRowCellValue(this.colorSetGrid.GridView.FocusedRowHandle, "backcolor", (object)colorHtml);
}
#region 操作弹出时
private void OperationItemComboBox_QueryPopUp(object sender, CancelEventArgs e)
{
DataTable dataTable = ObjGridcontrol.DataSource as DataTable;
DataRow dataRow = this.colorSetGrid.GridView.GetFocusedDataRow();
string colField = dataRow["userName"] + "";
DataRow selectRow = dataTable.Select().Where(n => (n["fieldname"] + "").Equals(colField)).FirstOrDefault();
bool isNumerical = false;
if (selectRow.Table.Columns.Contains("fieldsqlTag"))
{
isNumerical = (selectRow["fieldsqlTag"] + "").Equals("7");
}
else if (selectRow.Table.Columns.Contains("fieldTypeId"))
{
isNumerical = (selectRow["fieldsqlTag"] + "").Equals("7");
}
if (isNumerical)
{
DevExpress.XtraEditors.ComboBoxEdit edit = (sender as DevExpress.XtraEditors.ComboBoxEdit);
edit.Properties.Items.Clear();
edit.Properties.Items.Add(">");
edit.Properties.Items.Add("<");
edit.Properties.Items.Add("=");
edit.Properties.Items.Add("<>");
}
else
{
DevExpress.XtraEditors.ComboBoxEdit edit = (sender as DevExpress.XtraEditors.ComboBoxEdit);
edit.Properties.Items.Clear();
edit.Properties.Items.Add("=");
edit.Properties.Items.Add("<>");
}
}
#endregion
#endregion
}
}