using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Data;
using Lskj.MyControl;
using System.Drawing;
using System.Windows.Forms;
using DevExpress.XtraGrid.Views.Grid;
using DevExpress.XtraGrid.Columns;
using System.Data.SqlClient;
using DevExpress.XtraEditors.Repository;
using DevExpress.XtraEditors.Controls;
using DevExpress.XtraGrid;
using CommonLib;
using ControlLib.inh;
using Lskj.MyControl.LookUpAdd;
using Lskj.MyControl.LookUp;
using DevExpress.Utils;
using DevExpress.XtraEditors;
using Lskj.PubUtils;
using System.Text.RegularExpressions;
using System.ComponentModel;
namespace Lskj.Common
{
public class TagModel
{
public TagModel()
{
}
///
/// 是否保存
///
public bool IsSave { get; set; }
///
/// 是否为空
///
public bool IsEmpt { get; set; }
///
/// 提示信息
///
public string TipMsg { get; set; }
///
/// 控件类型
///
public int fieldTypeId { get; set; }
///
/// 是否情况
///
public bool IsClear { get; set; }
///
/// 默认值
///
public string DefaultValue { get; set; }
///
/// 扩展字段
///
public object Tag { get; set; }
}
public class PubControl
{
private static GridView pubGridView { get; set; }
public static DataTable CreateControl(Control ctr, string sql, string OperatorName)
{
DataTable dt = SqlHelper.ExecuteDataSet(sql).Tables[0];
int yHeight = 0;
foreach (DataRow row in dt.Rows)
{
int fieldTypeId = Convert.ToInt32(row["fieldTypeId"]);
//日期
if (fieldTypeId == 4)
{
LabelDateEx labelText = new LabelDateEx();
labelText.LabelText = row["userName"].ToString();
labelText.Location = new Point(Convert.ToInt32(row["ControlLeft"]), Convert.ToInt32(row["controlTop"]));
labelText.Parent = ctr;
labelText.Width = Convert.ToInt32(row["controlWidth"]);
yHeight = labelText.Top + labelText.Height;
labelText.Name = "txt_" + row["fieldName"];
labelText.Tag = new TagModel() { IsSave = true, IsClear = true, IsEmpt = Convert.ToBoolean(row["nullable"]), fieldTypeId = fieldTypeId, TipMsg = row["userName"] + "" };
labelText.Text = GetDefaultValue(row["defaultValue"].ToString(), OperatorName);
bool edited = Convert.ToBoolean(row["edited"]);
if (edited)
labelText.GetDateTimePicker.Enabled = false;
}
//文本
else if (fieldTypeId == 0)
{
LabelTextEx labelText = new LabelTextEx();
labelText.LabelText = row["userName"].ToString();
labelText.Location = new Point(Convert.ToInt32(row["ControlLeft"]), Convert.ToInt32(row["controlTop"]));
labelText.Parent = ctr;
labelText.Width = Convert.ToInt32(row["controlWidth"]);
yHeight = labelText.Top + labelText.Height;
labelText.Name = "txt_" + row["fieldName"];
labelText.Tag = new TagModel() { IsSave = true, IsClear = true, IsEmpt = Convert.ToBoolean(row["nullable"]), fieldTypeId = fieldTypeId, TipMsg = row["userName"] + "" };
labelText.Text = GetDefaultValue(row["defaultValue"].ToString(), OperatorName);
bool edited = Convert.ToBoolean(row["edited"]);
if (edited)
labelText.GetTextBox.ReadOnly = true;
}
else if (fieldTypeId == ControlType.LabMemoEdit)
{
// Memo文本
LabelMemoEdit labelText = new LabelMemoEdit();
labelText.LabelText = row["userName"].ToString();
labelText.Location = new Point(Convert.ToInt32(row["ControlLeft"]), Convert.ToInt32(row["controlTop"]));
labelText.Parent = ctr;
labelText.Width = Convert.ToInt32(row["controlWidth"]);
yHeight = labelText.Top + labelText.Height;
labelText.Name = "txt_" + row["fieldName"];
labelText.Tag = new TagModel() { IsSave = true, IsClear = true, IsEmpt = Convert.ToBoolean(row["nullable"]), fieldTypeId = fieldTypeId, TipMsg = row["userName"] + "" };
labelText.Text = GetDefaultValue(row["defaultValue"].ToString(), OperatorName);
bool edited = Convert.ToBoolean(row["edited"]);
if (edited)
labelText.getMemoEx.Properties.ReadOnly = true;
}
else if (fieldTypeId == ControlType.LabPassword)
{
// 创建密码框
LabelPasswordEx labelText = new LabelPasswordEx();
labelText.LabelText = row["userName"].ToString();
labelText.Location = new Point(Convert.ToInt32(row["ControlLeft"]), Convert.ToInt32(row["controlTop"]));
labelText.Parent = ctr;
labelText.Width = Convert.ToInt32(row["controlWidth"]);
yHeight = labelText.Top + labelText.Height;
labelText.Name = "txt_" + row["fieldName"];
labelText.Tag = new TagModel() { IsSave = true, IsClear = true, IsEmpt = Convert.ToBoolean(row["nullable"]), fieldTypeId = fieldTypeId, TipMsg = row["userName"] + "" };
labelText.Text = GetDefaultValue(row["defaultValue"].ToString(), OperatorName);
}
//下拉框
else if (fieldTypeId == 1 || fieldTypeId == 2)
{
LabelComboxEx labelText = new LabelComboxEx();
labelText.LabelText = row["userName"].ToString();
labelText.Location = new Point(Convert.ToInt32(row["ControlLeft"]), Convert.ToInt32(row["controlTop"]));
labelText.Parent = ctr;
labelText.Width = Convert.ToInt32(row["controlWidth"]);
yHeight = labelText.Top + labelText.Height;
labelText.Name = "txt_" + row["fieldName"];
labelText.Tag = new TagModel() { IsSave = true, IsClear = true, IsEmpt = Convert.ToBoolean(row["nullable"]), fieldTypeId = fieldTypeId, TipMsg = row["userName"] + "" };
string lookupSql = row["lookupSql"].ToString();
bool edited = Convert.ToBoolean(row["edited"]);
if (edited)
{
labelText.getComboBox.DropDownStyle = ComboBoxStyle.DropDownList;
labelText.getComboBox.Enabled = false;
}
if (!string.IsNullOrEmpty(lookupSql))
{
string keyField = row["lookupKeyField"] + "";
string resultField = row["lookupResult"] + "";
labelText.setDataSource(lookupSql, keyField, resultField);
}
labelText.Text = GetDefaultValue(row["defaultValue"].ToString(), OperatorName);
}
else if (fieldTypeId == 5 || fieldTypeId == 6)
{
LabelAutoSearcherEx autSearch = new LabelAutoSearcherEx();
autSearch.LabelText = row["userName"].ToString();
autSearch.Parent = ctr;
autSearch.Width = Convert.ToInt32(row["controlWidth"]);
autSearch.Location = new Point(Convert.ToInt32(row["ControlLeft"]), Convert.ToInt32(row["controlTop"]));
ControlLib.inh.AutoSearcher txtUserName = autSearch.GetAutoSearcher;
ControlLib.inh.SearcherPropertyCollector searcherPropertyCollector1 = new ControlLib.inh.SearcherPropertyCollector();
ControlLib.inh.TFieldPropertyData tFieldPropertyData1 = new ControlLib.inh.TFieldPropertyData();
ControlLib.inh.TFieldPropertyData tFieldPropertyData2 = new ControlLib.inh.TFieldPropertyData();
txtUserName.AutoCompleteMode = System.Windows.Forms.AutoCompleteMode.Append;
//取下拉列表数据
txtUserName.MaxLength = 50;
txtUserName.Name = "txt_" + row["fieldName"];
txtUserName.searcherPropertyCollector = searcherPropertyCollector1;
txtUserName.TabIndex = 12;
txtUserName.Tag = new TagModel() { IsSave = true, IsClear = true, IsEmpt = Convert.ToBoolean(row["nullable"]), fieldTypeId = fieldTypeId, TipMsg = row["userName"] + "" };
tFieldPropertyData1.FieldCaption = "编码";
tFieldPropertyData1.FieldName = row["lookupKeyField"] + "";
tFieldPropertyData1.FieldWidth = 50;
tFieldPropertyData1.ShowColumn = true;
tFieldPropertyData2.FieldCaption = "名称";
tFieldPropertyData2.FieldName = row["lookupResult"] + "";
tFieldPropertyData2.FieldWidth = 150;
tFieldPropertyData2.ShowColumn = true;
searcherPropertyCollector1.ConvertToChineseSpell = true;
searcherPropertyCollector1.FieldPropertyList = new ControlLib.inh.TFieldPropertyData[] { tFieldPropertyData1, tFieldPropertyData2 };
searcherPropertyCollector1.KeyField = row["lookupKeyField"] + "";
searcherPropertyCollector1.QueryField = row["lookupResult"] + "";
searcherPropertyCollector1.QuerySQL = row["lookupSql"].ToString();
//searcherPropertyCollector1.ReturnMaxCount = 50;
searcherPropertyCollector1.ReturnValueField = row["lookupKeyField"] + "";
searcherPropertyCollector1.SearchMatchWay = ControlLib.inh.TSearchMatchWay.swFuzzy;
searcherPropertyCollector1.ShowFormHeight = 230;
searcherPropertyCollector1.ShowFormWidth = 230;
searcherPropertyCollector1.SQL = row["lookupSql"].ToString();
bool edited = Convert.ToBoolean(row["edited"]);
if (edited)
{
autSearch.GetAutoSearcher.ReadOnly = true;
}
yHeight = txtUserName.Top + txtUserName.Height;
txtUserName.Text = GetDefaultValue(row["defaultValue"].ToString(), OperatorName);
}
//创建文本域
else if (fieldTypeId == 9)
{
LabelTextarea labelText = new LabelTextarea();
labelText.LabelText = row["userName"].ToString();
labelText.Location = new Point(Convert.ToInt32(row["ControlLeft"]), Convert.ToInt32(row["controlTop"]));
labelText.Parent = ctr;
if (Convert.ToInt32(row["controlWidth"]) > 0 && Convert.ToInt32(row["controlHeight"]) > 0)
{
labelText.Width = Convert.ToInt32(row["controlWidth"]);
labelText.Height = Convert.ToInt32(row["controlHeight"]);
}
yHeight = labelText.Top + labelText.Height;
labelText.Name = "txt_" + row["fieldName"];
labelText.Tag = "999";
labelText.Tag = new TagModel() { IsSave = true, IsClear = true, IsEmpt = Convert.ToBoolean(row["nullable"]), fieldTypeId = fieldTypeId, TipMsg = row["userName"] + "" };
labelText.Text = GetDefaultValue(row["defaultValue"].ToString(), OperatorName);
}
}
if (ctr.Height < yHeight)
{
ctr.Height = yHeight + 5;
}
return dt;
}
public static DataTable CreateControl(Control ctr, Control ctr2, string sql, string OperatorName)
{
DataTable dt = SqlHelper.ExecuteDataSet(sql).Tables[0];
int yHeight = 0;
foreach (DataRow row in dt.Rows)
{
int fieldTypeId = Convert.ToInt32(row["fieldTypeId"]);
//日期
if (fieldTypeId == 4)
{
LabelDateEx labelText = new LabelDateEx();
labelText.LabelText = row["userName"].ToString();
labelText.Location = new Point(Convert.ToInt32(row["ControlLeft"]), Convert.ToInt32(row["controlTop"]));
labelText.Parent = ctr;
labelText.Width = Convert.ToInt32(row["controlWidth"]);
yHeight = labelText.Top + labelText.Height;
labelText.Name = "txt_" + row["fieldName"];
labelText.Tag = new TagModel() { IsSave = true, IsClear = true, IsEmpt = Convert.ToBoolean(row["nullable"]), fieldTypeId = fieldTypeId, TipMsg = row["userName"] + "" };
labelText.Text = GetDefaultValue(row["defaultValue"].ToString(), OperatorName);
bool edited = Convert.ToBoolean(row["edited"]);
if (edited)
labelText.GetDateTimePicker.Enabled = false;
}
//文本
else if (fieldTypeId == 0)
{
LabelTextEx labelText = new LabelTextEx();
labelText.LabelText = row["userName"].ToString();
labelText.Location = new Point(Convert.ToInt32(row["ControlLeft"]), Convert.ToInt32(row["controlTop"]));
labelText.Parent = ctr;
labelText.Width = Convert.ToInt32(row["controlWidth"]);
yHeight = labelText.Top + labelText.Height;
labelText.Name = "txt_" + row["fieldName"];
labelText.Tag = new TagModel() { IsSave = true, IsClear = true, IsEmpt = Convert.ToBoolean(row["nullable"]), fieldTypeId = fieldTypeId, TipMsg = row["userName"] + "" };
labelText.Text = GetDefaultValue(row["defaultValue"].ToString(), OperatorName);
bool edited = Convert.ToBoolean(row["edited"]);
if (edited)
labelText.GetTextBox.ReadOnly = true;
}
//下拉框
else if (fieldTypeId == 1 || fieldTypeId == 2)
{
LabelComboxEx labelText = new LabelComboxEx();
labelText.LabelText = row["userName"].ToString();
labelText.Location = new Point(Convert.ToInt32(row["ControlLeft"]), Convert.ToInt32(row["controlTop"]));
labelText.Parent = ctr;
labelText.Width = Convert.ToInt32(row["controlWidth"]);
yHeight = labelText.Top + labelText.Height;
labelText.Name = "txt_" + row["fieldName"];
labelText.Tag = new TagModel() { IsSave = true, IsClear = true, IsEmpt = Convert.ToBoolean(row["nullable"]), fieldTypeId = fieldTypeId, TipMsg = row["userName"] + "" };
string lookupSql = row["lookupSql"].ToString();
bool edited = Convert.ToBoolean(row["edited"]);
if (edited)
{
labelText.getComboBox.DropDownStyle = ComboBoxStyle.DropDownList;
labelText.getComboBox.Enabled = false;
}
if (!string.IsNullOrEmpty(lookupSql))
{
string keyField = row["lookupKeyField"] + "";
string resultField = row["lookupResult"] + "";
labelText.setDataSource(lookupSql, keyField, resultField);
}
labelText.Text = GetDefaultValue(row["defaultValue"].ToString(), OperatorName);
}
else if (fieldTypeId == 5 || fieldTypeId == 6)
{
LabelAutoSearcherEx autSearch = new LabelAutoSearcherEx();
autSearch.LabelText = row["userName"].ToString();
autSearch.Parent = ctr;
autSearch.Width = Convert.ToInt32(row["controlWidth"]);
autSearch.Location = new Point(Convert.ToInt32(row["ControlLeft"]), Convert.ToInt32(row["controlTop"]));
ControlLib.inh.AutoSearcher txtUserName = autSearch.GetAutoSearcher;
ControlLib.inh.SearcherPropertyCollector searcherPropertyCollector1 = new ControlLib.inh.SearcherPropertyCollector();
ControlLib.inh.TFieldPropertyData tFieldPropertyData1 = new ControlLib.inh.TFieldPropertyData();
ControlLib.inh.TFieldPropertyData tFieldPropertyData2 = new ControlLib.inh.TFieldPropertyData();
txtUserName.AutoCompleteMode = System.Windows.Forms.AutoCompleteMode.Append;
//取下拉列表数据
txtUserName.MaxLength = 50;
txtUserName.Name = "txt_" + row["fieldName"];
txtUserName.searcherPropertyCollector = searcherPropertyCollector1;
txtUserName.TabIndex = 12;
txtUserName.Tag = new TagModel() { IsSave = true, IsClear = true, IsEmpt = Convert.ToBoolean(row["nullable"]), fieldTypeId = fieldTypeId, TipMsg = row["userName"] + "" };
tFieldPropertyData1.FieldCaption = "编码";
tFieldPropertyData1.FieldName = row["lookupKeyField"] + "";
tFieldPropertyData1.FieldWidth = 50;
tFieldPropertyData1.ShowColumn = true;
tFieldPropertyData2.FieldCaption = "名称";
tFieldPropertyData2.FieldName = row["lookupResult"] + "";
tFieldPropertyData2.FieldWidth = 150;
tFieldPropertyData2.ShowColumn = true;
searcherPropertyCollector1.ConvertToChineseSpell = true;
searcherPropertyCollector1.FieldPropertyList = new ControlLib.inh.TFieldPropertyData[] { tFieldPropertyData1, tFieldPropertyData2 };
searcherPropertyCollector1.KeyField = row["lookupKeyField"] + "";
searcherPropertyCollector1.QueryField = row["lookupResult"] + "";
searcherPropertyCollector1.QuerySQL = row["lookupSql"].ToString();
//searcherPropertyCollector1.ReturnMaxCount = 50;
searcherPropertyCollector1.ReturnValueField = row["lookupKeyField"] + "";
searcherPropertyCollector1.SearchMatchWay = ControlLib.inh.TSearchMatchWay.swFuzzy;
searcherPropertyCollector1.ShowFormHeight = 230;
searcherPropertyCollector1.ShowFormWidth = 230;
searcherPropertyCollector1.SQL = row["lookupSql"].ToString();
bool edited = Convert.ToBoolean(row["edited"]);
if (edited)
{
autSearch.GetAutoSearcher.ReadOnly = true;
}
yHeight = txtUserName.Top + txtUserName.Height;
txtUserName.Text = GetDefaultValue(row["defaultValue"].ToString(), OperatorName);
}
//创建文本域
else if (fieldTypeId == 9)
{
LabelTextarea labelText = new LabelTextarea();
labelText.LabelText = row["userName"].ToString();
labelText.Location = new Point(Convert.ToInt32(row["ControlLeft"]), Convert.ToInt32(row["controlTop"]));
labelText.Parent = ctr;
if (Convert.ToInt32(row["controlWidth"]) > 0 && Convert.ToInt32(row["controlHeight"]) > 0)
{
labelText.Width = Convert.ToInt32(row["controlWidth"]);
labelText.Height = Convert.ToInt32(row["controlHeight"]);
}
yHeight = labelText.Top + labelText.Height;
labelText.Name = "txt_" + row["fieldName"];
labelText.Tag = "999";
labelText.Tag = new TagModel() { IsSave = true, IsClear = true, IsEmpt = Convert.ToBoolean(row["nullable"]), fieldTypeId = fieldTypeId, TipMsg = row["userName"] + "" };
labelText.Text = GetDefaultValue(row["defaultValue"].ToString(), OperatorName);
}
}
ctr2.Height = yHeight + 60;
return dt;
}
public static void CreateControlSearch(Control ctr, string sql, string OperatorName)
{
DataTable dt =SqlHelper.ExecuteDataSet(sql).Tables[0];
int yHeight = 0;
foreach (DataRow row in dt.Rows)
{
int fieldTypeId = Convert.ToInt32(row["controlType"]);
//日期
if (fieldTypeId == 4)
{
LabelDateEx labelText = new LabelDateEx();
labelText.LabelText = row["controlLabel"].ToString();
labelText.Location = new Point(Convert.ToInt32(row["ControlLeft"]), Convert.ToInt32(row["controlTop"]));
labelText.Parent = ctr;
labelText.Width = Convert.ToInt32(row["controlWidth"]);
yHeight = labelText.Top + labelText.Height;
labelText.Name = row["controlName"].ToString();
labelText.Tag = new String[] { "999", row["checkCond"].ToString(), fieldTypeId.ToString() };
labelText.Text = GetDefaultValue(row["defaultValue"].ToString(), OperatorName);
}
//文本
else if (fieldTypeId == 0)
{
LabelTextEx labelText = new LabelTextEx();
labelText.LabelText = row["controlLabel"].ToString();
labelText.Location = new Point(Convert.ToInt32(row["ControlLeft"]), Convert.ToInt32(row["controlTop"]));
labelText.Parent = ctr;
labelText.Width = Convert.ToInt32(row["controlWidth"]);
yHeight = labelText.Top + labelText.Height;
labelText.Name = row["controlName"].ToString();
labelText.Tag = new String[] { "999", row["checkCond"].ToString(), fieldTypeId.ToString() };
labelText.Text = GetDefaultValue(row["defaultValue"].ToString(), OperatorName);
}
//下拉框
else if (fieldTypeId == 1)
{
LabelComboxEx labelText = new LabelComboxEx();
labelText.LabelText = row["controlLabel"].ToString();
labelText.Location = new Point(Convert.ToInt32(row["ControlLeft"]), Convert.ToInt32(row["controlTop"]));
labelText.Parent = ctr;
labelText.Width = Convert.ToInt32(row["controlWidth"]);
yHeight = labelText.Top + labelText.Height;
labelText.Name = row["controlName"].ToString();
labelText.Tag = new String[] { "999", row["checkCond"].ToString(), fieldTypeId.ToString() };
string sourceSql = row["sourceSql"].ToString();
string keyField = row["keyField"] + "";
string resultField = row["resultField"] + "";
labelText.setDataSource(sourceSql, keyField, resultField);
labelText.Text = GetDefaultValue(row["defaultValue"].ToString(), OperatorName);
}
//创建文本域
else if (fieldTypeId == 9)
{
LabelTextarea labelText = new LabelTextarea();
labelText.LabelText = row["controlLabel"].ToString();
labelText.Location = new Point(Convert.ToInt32(row["ControlLeft"]), Convert.ToInt32(row["controlTop"]));
labelText.Parent = ctr;
if (Convert.ToInt32(row["controlWidth"]) > 0 && Convert.ToInt32(row["controlHeight"]) > 0)
{
labelText.Width = Convert.ToInt32(row["controlWidth"]);
labelText.Height = Convert.ToInt32(row["controlHeight"]);
}
yHeight = labelText.Top + labelText.Height;
labelText.Name = row["controlName"].ToString();
labelText.Tag = new String[] { "999", row["checkCond"].ToString(), fieldTypeId.ToString() };
labelText.Text = GetDefaultValue(row["defaultValue"].ToString(), OperatorName);
}
}
if (ctr.Height < yHeight)
{
ctr.Height = yHeight + 10;
}
}
///
/// 获取默认值
///
///
///
public static string GetDefaultValue(string value, string OperatorName)
{
string result = value;
if (value.IndexOf('@') != -1)
{
object obj = SqlHelper.ExecuteScalar(CommandType.Text, value.Replace("@", ""));
if (obj != null)
{
result = obj.ToString();
}
}
if (value.IndexOf("operator", StringComparison.OrdinalIgnoreCase) != -1)
{
List list = PubClass.GetParamValue(value);
foreach (string s in list)
{
result = value.Replace(s, OperatorName);
}
}
return result;
}
///
/// 获取默认值
///
///
///
public static string GetDefaultValue(string value, string loginid, string OperatorName)
{
string result = value;
if (value.IndexOf('@') != -1)
{
object obj = SqlHelper.ExecuteScalar(CommandType.Text, value.Replace("@", ""));
if (obj != null)
{
result = obj.ToString();
}
}
if (value.IndexOf("loginid", StringComparison.OrdinalIgnoreCase) != -1)
{
List list = PubClass.GetParamValue(value);
foreach (string s in list)
{
result = value.Replace(s, loginid);
}
}
if (value.IndexOf("loginname", StringComparison.OrdinalIgnoreCase) != -1)
{
List list = PubClass.GetParamValue(value);
foreach (string s in list)
{
result = value.Replace(s, OperatorName);
}
}
return result;
}
public static void SetColumns(GridView gridView, string sql)
{
gridView.Columns.Clear();
DataTable dt = SqlHelper.ExecuteDataSet(sql).Tables[0];
for (int i = 0; i < dt.Rows.Count; i++)
{
DataRow row = dt.Rows[i];
GridColumn gridColumn = new GridColumn();
gridColumn.OptionsColumn.AllowMerge = (row["ifMerge"] + ""=="1")?DefaultBoolean.True: DefaultBoolean.False;
gridColumn.FieldName = row["fieldname"].ToString();
gridColumn.Name = row["fieldname"].ToString();
gridColumn.VisibleIndex = i;
gridColumn.Caption = row["userName"].ToString();
gridColumn.Width = Convert.ToInt32(row["width"]);
gridColumn.Visible = true;
object obj = dt.Columns["edited"];
if (obj != null && Convert.ToInt32(row["edited"]) == 1)
{
gridColumn.OptionsColumn.AllowEdit = false;
gridColumn.OptionsColumn.ReadOnly = false;
}
int isSum = Convert.ToInt32(row["isSum"]);
//处理统计
if (isSum == 1)
{
gridColumn.Summary.AddRange(new DevExpress.XtraGrid.GridSummaryItem[] { new DevExpress.XtraGrid.GridColumnSummaryItem(DevExpress.Data.SummaryItemType.Sum, row["fieldname"].ToString(), "{0}") });
gridView.GroupSummary.AddRange(new DevExpress.XtraGrid.GridSummaryItem[] { new DevExpress.XtraGrid.GridGroupSummaryItem(DevExpress.Data.SummaryItemType.Sum, row["fieldname"].ToString(), null, "") });
}
DataColumn dc = dt.Columns["Accuracy"];
if (dc != null) {
string Accuracy = dt.Rows[i]["Accuracy"] + "";
if (!string.IsNullOrEmpty(Accuracy) && Accuracy != "0") {
gridColumn.DisplayFormat.FormatType = FormatType.Numeric;
gridColumn.DisplayFormat.FormatString = "F2";
}
}
gridColumn.AppearanceHeader.TextOptions.HAlignment = DevExpress.Utils.HorzAlignment.Center;
gridView.Columns.Add(gridColumn);
}
if (gridView.Columns.Count > 0)
{
GridColumn firstColumn = gridView.Columns[0];
if (firstColumn != null)
{
gridView.OptionsView.ShowFooter = true;
firstColumn.Summary.AddRange(new DevExpress.XtraGrid.GridSummaryItem[] { new DevExpress.XtraGrid.GridColumnSummaryItem(DevExpress.Data.SummaryItemType.Count, firstColumn.FieldName.ToString(), "合计: {0:#,###}行") });
gridView.GroupSummary.AddRange(new DevExpress.XtraGrid.GridSummaryItem[] { new DevExpress.XtraGrid.GridGroupSummaryItem(DevExpress.Data.SummaryItemType.Count, firstColumn.FieldName.ToString(), null, "合计: {0:#,###}行") });
}
}
}
public static void SetColumns(GridControl gc, string sql)
{
GridView gridView = (GridView)gc.DefaultView;
gridView.Columns.Clear();
DataTable dt = SqlHelper.ExecuteDataSet(sql).Tables[0];
for (int i = 0; i < dt.Rows.Count; i++)
{
DataRow row = dt.Rows[i];
GridColumn gridColumn = new GridColumn();
gridColumn.OptionsColumn.AllowMerge = (row["ifMerge"] + "" == "1") ? DefaultBoolean.True : DefaultBoolean.False;
gridColumn.FieldName = row["fieldname"].ToString();
gridColumn.Name = row["fieldname"].ToString();
gridColumn.VisibleIndex = i;
gridColumn.Caption = row["userName"].ToString();
gridColumn.Width = Convert.ToInt32(row["width"]);
gridColumn.AppearanceHeader.TextOptions.HAlignment = DevExpress.Utils.HorzAlignment.Center;
gridColumn.Visible = true;
object obj = dt.Columns["edited"];
if (obj != null && Convert.ToInt32(row["edited"]) == 1)
{
gridColumn.OptionsColumn.AllowEdit = false;
gridColumn.OptionsColumn.ReadOnly = false;
}
int isSum = Convert.ToInt32(row["isSum"]);
//处理统计
if (isSum == 1)
{
gridColumn.Summary.AddRange(new DevExpress.XtraGrid.GridSummaryItem[] { new DevExpress.XtraGrid.GridColumnSummaryItem(DevExpress.Data.SummaryItemType.Sum, row["fieldname"].ToString(), "{0}") });
gridView.GroupSummary.AddRange(new DevExpress.XtraGrid.GridSummaryItem[] { new DevExpress.XtraGrid.GridGroupSummaryItem(DevExpress.Data.SummaryItemType.Sum, row["fieldname"].ToString(), null, "") });
}
gridView.Columns.Add(gridColumn);
int fieldTypeId = Convert.ToInt32(row["fieldTypeId"]);
string lookupSql = row["lookupSql"] + "";
string lookupKeyField = row["lookupKeyField"] + "";
string lookupResult = row["lookupResult"] + "";
string fieldName = row["fieldName"] + "";
if (fieldTypeId == 1 || fieldTypeId == 5)
{
GetLookUpEdit(lookupSql, lookupKeyField, lookupResult, fieldName, gridColumn, fieldTypeId, gc);
}
if (fieldTypeId == 2 || fieldTypeId == 6)
{
GetComboBox(lookupSql, lookupKeyField, lookupResult, fieldName, gridColumn, fieldTypeId);
}
DataColumn dc = dt.Columns["Accuracy"];
if (dc != null) {
string Accuracy = dt.Rows[i]["Accuracy"] + "";
if (!string.IsNullOrEmpty(Accuracy) && Accuracy != "0") {
gridColumn.DisplayFormat.FormatType = FormatType.Numeric;
gridColumn.DisplayFormat.FormatString = "F2";
}
}
}
if (gridView.Columns.Count > 0)
{
GridColumn firstColumn = gridView.Columns[0];
if (firstColumn != null)
{
gridView.OptionsView.ShowFooter = true;
firstColumn.Summary.AddRange(new DevExpress.XtraGrid.GridSummaryItem[] { new DevExpress.XtraGrid.GridColumnSummaryItem(DevExpress.Data.SummaryItemType.Count, firstColumn.FieldName.ToString(), "合计: {0:#,###}行") });
gridView.GroupSummary.AddRange(new DevExpress.XtraGrid.GridSummaryItem[] { new DevExpress.XtraGrid.GridGroupSummaryItem(DevExpress.Data.SummaryItemType.Count, firstColumn.FieldName.ToString(), null, "合计: {0:#,###}行") });
}
}
}
public static void SetColumns(GridControl gc, DataTable dt)
{
GridView gridView = (GridView)gc.DefaultView;
gridView.Columns.Clear();
for (int i = 0; i < dt.Rows.Count; i++)
{
DataRow row = dt.Rows[i];
GridColumn gridColumn = new GridColumn();
gridColumn.OptionsColumn.AllowMerge = (row["ifMerge"] + "" == "1") ? DefaultBoolean.True : DefaultBoolean.False;
gridColumn.FieldName = row["fieldname"].ToString();
gridColumn.Name = row["fieldname"].ToString();
gridColumn.VisibleIndex = i;
gridColumn.Caption = row["userName1"].ToString();
gridColumn.Width = Convert.ToInt32(row["width"]);
gridColumn.AppearanceHeader.TextOptions.HAlignment = DevExpress.Utils.HorzAlignment.Center;
gridColumn.Visible = true;
object obj = dt.Columns["edited"];
string dataFormat = row["DataFormat"] + "";
if (obj != null && Convert.ToInt32(row["edited"]) == 1)
{
gridColumn.OptionsColumn.AllowEdit = false;
gridColumn.OptionsColumn.ReadOnly = false;
}
int isSum = Convert.ToInt32(row["isSum"]);
//处理统计
if (isSum == 1)
{
gridColumn.Summary.AddRange(new DevExpress.XtraGrid.GridSummaryItem[] { new DevExpress.XtraGrid.GridColumnSummaryItem(DevExpress.Data.SummaryItemType.Sum, row["fieldname"].ToString(), "{0:" + dataFormat + "}") });
gridView.GroupSummary.AddRange(new DevExpress.XtraGrid.GridSummaryItem[] { new DevExpress.XtraGrid.GridGroupSummaryItem(DevExpress.Data.SummaryItemType.Sum, row["fieldname"].ToString(), null, "{0:" + dataFormat + "}") });
}
gridView.Columns.Add(gridColumn);
int fieldTypeId = Convert.ToInt32(row["fieldsqlTag"]);
string lookupSql = row["fieldsql"] + "";
string lookupKeyField = row["fieldsqlid"] + "";
string lookupResult = row["fieldsqlname"] + "";
string fieldName = row["fieldName"] + "";
if (fieldTypeId == 1 || fieldTypeId == 5)
{
GetLookUpEdit(lookupSql, lookupKeyField, lookupResult, fieldName, gridColumn, fieldTypeId, gc);
}
if (fieldTypeId == 2 || fieldTypeId == 6)
{
GetComboBox(lookupSql, lookupKeyField, lookupResult, fieldName, gridColumn, fieldTypeId);
}
//QQ和网址
if (fieldTypeId == 10)
{
gridColumn.Tag = new TagModel() { Tag="www"};
}
if (fieldTypeId == 11)
{
gridColumn.Tag = new TagModel() { Tag = "qq" };
}
CommonUtils.DataFormat(gridColumn, dataFormat, fieldTypeId);
DataColumn dc = dt.Columns["Accuracy"];
if (dc != null) {
string Accuracy = dt.Rows[i]["Accuracy"] + "";
if (!string.IsNullOrEmpty(Accuracy) && Accuracy != "0") {
gridColumn.DisplayFormat.FormatType = FormatType.Numeric;
gridColumn.DisplayFormat.FormatString = "F2";
}
}
}
if (gridView.Columns.Count > 0)
{
GridColumn firstColumn = gridView.Columns[0];
if (firstColumn != null)
{
gridView.OptionsView.ShowFooter = true;
firstColumn.Summary.AddRange(new DevExpress.XtraGrid.GridSummaryItem[] { new DevExpress.XtraGrid.GridColumnSummaryItem(DevExpress.Data.SummaryItemType.Count, firstColumn.FieldName.ToString(), "合计: {0:#,###}行") });
gridView.GroupSummary.AddRange(new DevExpress.XtraGrid.GridSummaryItem[] { new DevExpress.XtraGrid.GridGroupSummaryItem(DevExpress.Data.SummaryItemType.Count, firstColumn.FieldName.ToString(), null, "合计: {0:#,###}行") });
}
}
}
public static void SetColumns3(GridControl gc, string sql)
{
GridView gridView = (GridView)gc.DefaultView;
gridView.Columns.Clear();
DataTable dt = SqlHelper.ExecuteDataSet(sql).Tables[0];
for (int i = 0; i < dt.Rows.Count; i++)
{
DataRow row = dt.Rows[i];
GridColumn gridColumn = new GridColumn();
gridColumn.OptionsColumn.AllowMerge = (row["ifMerge"] + "" == "1") ? DefaultBoolean.True : DefaultBoolean.False;
gridColumn.FieldName = row["fieldname"].ToString();
gridColumn.Name = row["fieldname"].ToString();
gridColumn.VisibleIndex = i;
gridColumn.Caption = row["userName"].ToString();
gridColumn.Width = Convert.ToInt32(row["width"]);
gridColumn.Visible = true;
gridColumn.OptionsFilter.FilterPopupMode = FilterPopupMode.CheckedList;
gridColumn.AppearanceHeader.TextOptions.HAlignment = DevExpress.Utils.HorzAlignment.Center;
gridView.Columns.Add(gridColumn);
}
}
public static DataTable SetColumns2(GridControl gc, string sql)
{
GridView gridView = pubGridView = (GridView)gc.DefaultView;
gridView.Columns.Clear();
DataTable dt = SqlHelper.ExecuteDataSet(sql).Tables[0];
for (int i = 0; i < dt.Rows.Count; i++)
{
DataRow row = dt.Rows[i];
GridColumn gridColumn = new GridColumn();
gridColumn.OptionsColumn.AllowMerge = (row["ifMerge"] + "" == "1") ? DefaultBoolean.True : DefaultBoolean.False;
gridColumn.FieldName = row["fieldname"].ToString();
gridColumn.Name = row["fieldname"].ToString();
gridColumn.VisibleIndex = i;
gridColumn.Caption = row["userName"].ToString();
gridColumn.Width = Convert.ToInt32(row["width"]);
gridColumn.AppearanceHeader.TextOptions.HAlignment = DevExpress.Utils.HorzAlignment.Center;
gridColumn.Visible = true;
object obj = dt.Columns["isedited"];
string dataFormat = row["DataFormat"] + "";
if (obj != null && Convert.ToInt32(row["isedited"]) == 1)
{
gridColumn.OptionsColumn.AllowEdit = false;
gridColumn.OptionsColumn.ReadOnly = true;
}
int isSum = Convert.ToInt32(row["isSum"]);
//处理统计
if (isSum == 1)
{
gridColumn.Summary.AddRange(new DevExpress.XtraGrid.GridSummaryItem[] { new DevExpress.XtraGrid.GridColumnSummaryItem(DevExpress.Data.SummaryItemType.Sum, row["fieldname"].ToString(), "{0:" + dataFormat + "}") });
gridView.GroupSummary.AddRange(new DevExpress.XtraGrid.GridSummaryItem[] { new DevExpress.XtraGrid.GridGroupSummaryItem(DevExpress.Data.SummaryItemType.Sum, row["fieldname"].ToString(), null, "{0:" + dataFormat + "}") });
}
gridView.Columns.Add(gridColumn);
int fieldTypeId = Convert.ToInt32(row["fieldTypeId"]);
string lookupSql = row["lookupSql"] + "";
string lookupKeyField = row["lookupKeyField"] + "";
string lookupResult = row["lookupResult"] + "";
string fieldName = row["fieldName"] + "";
if (fieldTypeId == 1 || fieldTypeId == 5 || fieldTypeId == 15)
{
GetLookUpEdit(lookupSql, lookupKeyField, lookupResult, fieldName, gridColumn, fieldTypeId, lookupKeyField, lookupResult);
}
if (fieldTypeId == 2 || fieldTypeId == 6 || fieldTypeId == 16)
{
GetLookUpEdit(lookupSql, lookupResult, lookupKeyField, fieldName, gridColumn, fieldTypeId, lookupKeyField, lookupResult);
}
// 日期时间控件
if (fieldTypeId == 4 ||
fieldTypeId == 44 ||
fieldTypeId == 444)
{
CreateDateTime(gridColumn, fieldTypeId);
}
if (fieldTypeId == 4444 ||
fieldTypeId == 4444)
{
CreateTime(gridColumn, fieldTypeId);
}
//QQ和网址
if (fieldTypeId == 10)
{
gridColumn.Tag = new TagModel() { Tag = "www" };
}
if (fieldTypeId == 11)
{
gridColumn.Tag = new TagModel() { Tag = "qq" };
}
CommonUtils.DataFormat(gridColumn, dataFormat, fieldTypeId);
}
if (gridView.Columns.Count > 0)
{
GridColumn firstColumn = gridView.Columns[0];
if (firstColumn != null)
{
gridView.OptionsView.ShowFooter = true;
firstColumn.Summary.AddRange(new DevExpress.XtraGrid.GridSummaryItem[] { new DevExpress.XtraGrid.GridColumnSummaryItem(DevExpress.Data.SummaryItemType.Count, firstColumn.FieldName.ToString(), "合计: {0:#,###}行") });
gridView.GroupSummary.AddRange(new DevExpress.XtraGrid.GridSummaryItem[] { new DevExpress.XtraGrid.GridGroupSummaryItem(DevExpress.Data.SummaryItemType.Count, firstColumn.FieldName.ToString(), null, "合计: {0:#,###}行") });
}
}
return dt;
}
private void CreateButtonEdit(GridColumn gridColumn, DataRow row) {
Lskj.MyControl.LookUp.FrmMain frmMain = new Lskj.MyControl.LookUp.FrmMain();
RepositoryItemButtonEdit btnEdit = new RepositoryItemButtonEdit();
btnEdit.ButtonClick +=new ButtonPressedEventHandler(btnEdit_ButtonClick);
gridColumn.ColumnEdit = btnEdit;
String SQL = row["fieldsql"].ToString();
SQL = GetDefaultValue(SQL, ERPInfo.Instance.EmployeeId.ToString(), ERPInfo.Instance.EmployeeName);
Dictionary Columns = new Dictionary();
Columns.Add(row["fieldsqlid"].ToString(), "编码");
Columns.Add(row["fieldsqlname"].ToString(), "名称");
if (SQL.IndexOf("Remark", StringComparison.OrdinalIgnoreCase) != -1)
Columns.Add("Remark", "备注");
frmMain.IsMultiple = true;
frmMain.Columns = Columns;
int fieldsqlTag = Convert.ToInt32(row["fieldsqlTag"]);
frmMain.ValueField = row["fieldsqlid"] + "";
frmMain.TextField = row["fieldsqlname"] + "";
frmMain.IsText = fieldsqlTag;
btnEdit.Tag = frmMain;
}
private static void CreateDateTime(GridColumn gridColumn, int fieldsqlTag)
{
RepositoryItemDateEdit dateEdit = new RepositoryItemDateEdit();
dateEdit.DisplayFormat.FormatString = dateEdit.EditFormat.FormatString = dateEdit.Mask.EditMask = DateFormatType.GetFormatValue(fieldsqlTag);
dateEdit.DisplayFormat.FormatType = dateEdit.EditFormat.FormatType = DevExpress.Utils.FormatType.Custom;
dateEdit.Closed += new ClosedEventHandler(dateEdit_Closed);
gridColumn.ColumnEdit = dateEdit;
}
private static void CreateTime(GridColumn gridColumn, int fieldsqlTag)
{
RepositoryItemTimeEdit timeEdit = new RepositoryItemTimeEdit();
timeEdit.DisplayFormat.FormatString = timeEdit.EditFormat.FormatString = timeEdit.Mask.EditMask = DateFormatType.GetFormatValue(fieldsqlTag);
timeEdit.DisplayFormat.FormatType = timeEdit.EditFormat.FormatType = DevExpress.Utils.FormatType.Custom;
gridColumn.ColumnEdit = timeEdit;
}
#region 内部事件处理
private static void dateEdit_Closed(object sender, ClosedEventArgs e)
{
if (sender is DateEdit)
{
DateEdit dateEdit = (sender as DateEdit);
string dateFormatType = dateEdit.Properties.DisplayFormat.FormatString;
dateEdit.EditValue = dateEdit.DateTime.ToString(dateFormatType);
}
}
private static void btnEdit_ButtonClick(object sender, ButtonPressedEventArgs e)
{
ButtonEdit buttonEdit = (ButtonEdit)sender;
Lskj.MyControl.LookUp.FrmMain frmMain = (Lskj.MyControl.LookUp.FrmMain)buttonEdit.Tag;
DialogResult dr = frmMain.ShowDialog();
if (dr == DialogResult.OK) {
String value = string.Empty;
if (frmMain.IsText == 13) {
value = frmMain.ReturnValue;
}
else {
value = frmMain.ReturnText;
}
buttonEdit.Text = value;
}
}
#endregion
private static void GetComboBox(string sql, string key, string value, string colum, GridColumn gc, int fieldsqlTag)
{
RepositoryItemComboBox combobox = new RepositoryItemComboBox();
DataTable dt = SqlHelper.ExecuteDataSet(sql).Tables[0];
foreach (DataRow item in dt.Rows)
combobox.Items.Add(item[value]);
combobox.NullText = "[请选择]";
gc.ColumnEdit = combobox;
}
private static void GetLookUpEdit(string sql, string key, string value, string colum, GridColumn gc, int fieldsqlTag, GridControl gg)
{
RepositoryItemLookUpEdit combobox = new RepositoryItemLookUpEdit();
combobox.DataSource = SqlHelper.ExecuteDataSet(sql).Tables[0];
combobox.DisplayMember = value;
combobox.ValueMember = key;
LookUpColumnInfo ci = new LookUpColumnInfo();
ci.Caption = "编号";
ci.FieldName = key;
ci.Visible = false;
combobox.Columns.Add(ci);
LookUpColumnInfo ci2 = new LookUpColumnInfo();
ci2.Caption = "名称";
ci2.FieldName = value;
ci2.Visible = true;
combobox.Columns.Add(ci2);
gg.RepositoryItems.Add(combobox);
if (sql.IndexOf("remark", StringComparison.OrdinalIgnoreCase) != -1)
{
LookUpColumnInfo ci3 = new LookUpColumnInfo();
ci3.Caption = "备注";
ci3.FieldName = "remark";
ci3.Visible = true;
combobox.Columns.Add(ci3);
}
combobox.NullText = "[请选择]";
combobox.AllowNullInput = DevExpress.Utils.DefaultBoolean.False;
gc.ColumnEdit = combobox;
}
///
/// 动态加载数据源
///
///
///
private static void lookUp_QueryPopUp(object sender, CancelEventArgs e)
{
if (sender is SearchLookUpEdit)
{
var focusRow = pubGridView.GetDataRow(pubGridView.FocusedRowHandle);
if (focusRow != null)
{
SearchLookUpEdit edit = (sender as SearchLookUpEdit);
LookUpTag lookUpTag = edit.Properties.Tag as LookUpTag;
if (lookUpTag != null && !string.IsNullOrEmpty(lookUpTag.Sql))
{
string sqlValue = lookUpTag.Sql.Replace("#", "").Replace("#", "");
var fieldParams = GetParamValue(sqlValue);
for (int i = 0; i < fieldParams.Count; i++)
{
string fieldName = fieldParams[i].Replace("{", "").Replace("}", "");
string fieldValue = focusRow[fieldName] + "";
sqlValue = sqlValue.Replace(fieldParams[i], fieldValue);
}
DataTable dtTable = SqlHelper.ExecuteDataSet(sqlValue).Tables[0];
edit.Properties.DataSource = dtTable;
}
}
}
}
private static void GetLookUpEdit(string sql, string key, string value, string colum, GridColumn gc, int fieldsqlTag, string listKey, string listValue)
{
sql = GetDefaultValue(sql, ERPInfo.Instance.EmployeeId.ToString(), ERPInfo.Instance.EmployeeName);
RepositoryItemSearchLookUpEdit combobox = new RepositoryItemSearchLookUpEdit();
int allWidth = 0;
if ((fieldsqlTag == 15 || fieldsqlTag == 16) && sql.Contains("#"))
{
combobox.Tag = new LookUpTag() { Sql = sql, ValueMember = key, DisplayMember = listValue };
combobox.QueryPopUp += new CancelEventHandler(lookUp_QueryPopUp);
sql = Regex.Replace(sql, "#[^##]+#", " 1=1 ");
}
DataTable dtTable = SqlHelper.ExecuteDataSet(sql).Tables[0];
combobox.DataSource = dtTable;
combobox.DisplayMember = listValue;
combobox.ValueMember = key;
GridColumn ci = new GridColumn();
ci.Caption = "编号";
ci.FieldName = listKey;
allWidth += ci.Width = CalcMaxColumnWidth(dtTable, listKey);
ci.Visible = true;
combobox.View.Columns.Add(ci);
GridColumn ci2 = new GridColumn();
ci2.Caption = "名称";
ci2.FieldName = listValue;
ci2.Visible = true;
allWidth += ci2.Width = CalcMaxColumnWidth(dtTable, listValue);
combobox.View.Columns.Add(ci2);
if (sql.IndexOf("remark", StringComparison.OrdinalIgnoreCase) != -1)
{
GridColumn ci3 = new GridColumn();
ci3.Caption = "备注";
ci3.FieldName = "remark";
ci3.Visible = true;
allWidth += ci3.Width = CalcMaxColumnWidth(dtTable, "remark");
combobox.View.Columns.Add(ci3);
combobox.BestFitMode = BestFitMode.BestFit; // 3列的时候自动计算宽度,否则自动填充满表格
combobox.View.OptionsView.ColumnAutoWidth = false;
}
else
{
combobox.BestFitMode = BestFitMode.BestFitResizePopup;
}
combobox.View.OptionsView.ShowIndicator = false;
combobox.View.Appearance.HeaderPanel.TextOptions.HAlignment = HorzAlignment.Center;
combobox.PopupBorderStyle = PopupBorderStyles.Flat;
combobox.ShowPopupShadow = true;
combobox.AllowNullInput = DevExpress.Utils.DefaultBoolean.False;
combobox.PopupFormSize = new Size(allWidth, 250);
combobox.ShowFooter = false; // 是否显示底部
gc.ColumnEdit = combobox;
}
///
/// 计算最大宽度
///
private static int CalcMaxColumnWidth(DataTable dTable, string columnName)
{
int MaxWidth = 0;
foreach (DataRow row in dTable.Rows)
{
int columnWidth = CommonUtils.GetFontWidth(row[columnName] + "");
if (columnWidth > MaxWidth)
{
MaxWidth = columnWidth;
}
}
return MaxWidth;
}
///
/// 取指定组件值
///
///
///
public static string GetControlText(Control control)
{
if (control == null)
return "";
ControlModelTag cmTag = control.Tag as ControlModelTag;
if (cmTag == null)
{
return control.Text;
}
if (cmTag.fieldTypeId == ControlType.LabAutoSeacherText)
{
return control.Text;
}
else if ((cmTag.fieldTypeId == ControlType.LabAutoSeacherValue) ||
(cmTag.fieldTypeId == ControlType.LabComboxValueParam))
{
AutoSearcher te = control as AutoSearcher;
if (te == null)
te = (control as LabelAutoSearcherEx).GetAutoSearcher;
return te.ReturnValue.ToString();
}
else if (cmTag.fieldTypeId == ControlType.LabMultiSelectValue)
{
LabelLookUp lookup = control as LabelLookUp;
return lookup.ReturnValue;
}
else if (cmTag.fieldTypeId == ControlType.LabComboxValue)
{
LabelComboxEx Cb = control as LabelComboxEx;
return Cb.getComboBox.SelectedValue + "";
}
else if (cmTag.fieldTypeId == ControlType.LabComboxText)
{
LabelComboxEx Cb = control as LabelComboxEx;
return Cb.getComboBox.Text;
}
else if (cmTag.fieldTypeId == ControlType.LabDate ||
cmTag.fieldTypeId == ControlType.LabDateTime ||
cmTag.fieldTypeId == ControlType.LabDateTimeShort ||
cmTag.fieldTypeId == ControlType.LabTime ||
cmTag.fieldTypeId == ControlType.LabShortTime)
{
LabelDateEx Cb = control as LabelDateEx;
return Cb.GetDateTimePicker.Value.ToString("yyyy-MM-dd HH:mm:ss");
}
else if (cmTag.fieldTypeId == ControlType.LabTextInt)
{
if ((control.Text.Trim() == ""))
return "0";
else
return control.Text;
}
else
{
if (cmTag.fieldTypeId != 99)
{
return control.Text;
}
}
return "0";
}
///
/// 设置默认值
///
///
///
public static void SetControlText(Control control, string value)
{
if (control == null)
return;
ControlModelTag cmTag = control.Tag as ControlModelTag;
//MessageBox.Show(cmTag.fieldTypeId.ToString());
if (cmTag.fieldTypeId == ControlType.LabAutoSeacherText)
{
control.Text = value;
}
else if ((cmTag.fieldTypeId == ControlType.LabAutoSeacherValue)||(cmTag.fieldTypeId == ControlType.LabComboxValueParam))
{
AutoSearcher te = control as AutoSearcher;
if (te == null)
te = (control as LabelAutoSearcherEx).GetAutoSearcher;
//MessageBox.Show(te.Name+"____"+value);
te.ReturnValue = value;
te.SetValueSilent(value, "");
}
else if (cmTag.fieldTypeId == ControlType.LabComboxValue)
{
LabelComboxEx Cb = control as LabelComboxEx;
if (value != "")
Cb.getComboBox.SelectedValue = value;
else
{
Cb.getComboBox.SelectedValue = 0;
}
}
else if (cmTag.fieldTypeId == ControlType.LabComboxText)
{
LabelComboxEx Cb = control as LabelComboxEx;
Cb.getComboBox.Text = value;
}
else if (cmTag.fieldTypeId == ControlType.LabDate ||
cmTag.fieldTypeId == ControlType.LabDateTime ||
cmTag.fieldTypeId == ControlType.LabDateTimeShort ||
cmTag.fieldTypeId == ControlType.LabTime ||
cmTag.fieldTypeId == ControlType.LabShortTime)
{
LabelDateEx Cb = control as LabelDateEx;
if (string.IsNullOrEmpty(value.Trim()))
value = DateTime.Today.ToShortDateString();
Cb.Text = value;
Cb.GetDateTimePicker.Value = Convert.ToDateTime(value);
}
else if (cmTag.fieldTypeId == ControlType.LabMultiSelectValue)
{
LabelLookUp lookup = control as LabelLookUp;
lookup.SetValueText(value);
}
else if (cmTag.fieldTypeId == ControlType.LabMultiSelectText)
{
LabelLookUp lookup = control as LabelLookUp;
lookup.SetTextValue(value);
}
else
{
if (cmTag.fieldTypeId != 99)
{
control.Text = value;
}
}
if (cmTag.fieldTypeId == ControlType.LabTextInt && string.IsNullOrEmpty(control.Text))
{
control.Text = "0";
}
return;
}
#region 获取参数
public static List GetParamValue(string param)
{
string SqlParamRegex = "{([^{])+}";
List list = new List();
Regex regex = new Regex(SqlParamRegex);
MatchCollection mcs = regex.Matches(param);
foreach (Match item in mcs)
{
list.Add(item.Value);
}
return list;
}
#endregion
}
}