华恒Mes鼎捷代码
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

227 lines
8.5 KiB

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
using DevExpress.XtraEditors;
using DevExpress.XtraGrid.Columns;
using ICSSoft.Base.Config.AppConfig;
using ICSSoft.Base.Report.Filter;
using ICSSoft.Base.Config.DBHelper;
using ICSSoft.Base.UserControl.FormControl;
using ICSSoft.Base.ReferForm.AppReferForm;
using ICSSoft.Base.Lable.PrintTool;
using ICSSoft.Frame.Data.DAL;
using ICSSoft.Frame.Data.BLL;
using ICSSoft.Frame.Data.Entity;
namespace ICSSoft.Frame.APP
{
public partial class FormDataView : DevExpress.XtraEditors.XtraForm
{
/// <summary>
/// 数据源
/// </summary>
public DataTable DataSource = null;
/// <summary>
/// 返回数据
/// </summary>
public DataTable ReturnData = null;
/// <summary>
/// 窗体标题
/// </summary>
public string FormTitle = "";
/// <summary>
/// 列表边距
/// </summary>
public int RowIndexWidth = 40;
/// <summary>
/// 是否多选
/// </summary>
public bool MSelectFlag = false;
/// <summary>
/// 隐藏字段列表
/// </summary>
public List<string> HideCols = new List<string>();
/// <summary>
/// 绑定默认选择的字段
/// </summary>
public Dictionary<string,List<string>> DefaultSelectItems=new Dictionary<string,List<string>>();
public int FormWidth = 200;
public int FormHeight = 200;
/// <summary>
/// 近似值
/// </summary>
public string FilterKey = "";
public FormICSMO2UserSend MO2UserSend;
public FormDataView(FormICSMO2UserSend ICSMO2UserSend)
{
InitializeComponent();
grvDetail.IndicatorWidth = RowIndexWidth;
this.Width = FormWidth;
this.Height = FormHeight;
MO2UserSend = ICSMO2UserSend;
}
private void btnExit_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e)
{
this.DialogResult = DialogResult.Cancel;
}
private void FormDataView_Load(object sender, EventArgs e)
{
this.Visible = true;
grdDetail.DataSource = DataSource;
#region ''
//string waitMsg = "正在加载中,请稍等";
//LangObj msgObj = new LangObj();
//msgObj.LConvertString = waitMsg;
//msgObj.LParameters = new object[] { };
//waitMsg = LanguageConvert.ConvertString("1-" + AppConfig.LangIndex, msgObj);
//DevExpress.Utils.WaitDialogForm _wait = new DevExpress.Utils.WaitDialogForm(waitMsg);
//try
//{
// _wait.Show();
// if (DataSource == null)
// {
// List<LangObj> objList = new List<LangObj>();
// LangObj obj = new LangObj();
// obj.LConvertString = "数据源为空";
// obj.LParameters = new object[] { };
// objList.Add(obj);
// MessageDialog msg = new MessageDialog(2, objList);
// if (msg.ShowDialog() == DialogResult.OK)
// {
// this.DialogResult = DialogResult.Cancel;
// }
// }
// else if (DataSource.Columns.Contains("选择"))
// {
// List<LangObj> objList = new List<LangObj>();
// LangObj obj = new LangObj();
// obj.LConvertString = "数据源不可以存在“选择”字段";
// obj.LParameters = new object[] { };
// objList.Add(obj);
// MessageDialog msg = new MessageDialog(2, objList);
// if (msg.ShowDialog() == DialogResult.OK)
// {
// this.DialogResult = DialogResult.Cancel;
// }
// }
// else
// {
// GridColumn selectCol = new GridColumn();
// selectCol.Caption = "选择";
// selectCol.FieldName = "选择";
// selectCol.VisibleIndex = 1;
// selectCol.Visible = !(HideCols.Contains("选择"));
// grvDetail.Columns.Add(selectCol);
// int i = 2;
// foreach (DataColumn dc in DataSource.Columns)
// {
// GridColumn gc = new GridColumn();
// gc.Caption = dc.ColumnName;
// gc.FieldName = dc.ColumnName;
// gc.VisibleIndex = i;
// gc.Visible = !(HideCols.Contains(dc.ColumnName));
// grvDetail.Columns.Add(gc);
// i++;
// }
// DataSource.Columns.Add("选择", typeof(string));
// foreach (DataRow dr in DataSource.Rows)
// {
// dr["选择"] = "";
// }
// DataSource.AcceptChanges();
// grdDetail.DataSource = DataSource;
// //txtKey.EditValue = FilterKey;
// //SearchFunction();
// grvDetail.BestFitColumns();
// }
// grvDetail.PostEditor();
// this.Validate();
// for (int i = 0; i < grvDetail.RowCount; i++)
// {
// foreach (GridColumn gc in grvDetail.Columns)
// {
// string value = grvDetail.GetRowCellValue(i, gc).ToString();
// if (DefaultSelectItems.ContainsKey(gc.FieldName))
// {
// List<string> valueList = DefaultSelectItems[gc.FieldName];
// if (valueList.Contains(value))
// {
// grvDetail.SetRowCellValue(i, "选择", "Y");
// }
// }
// }
// }
// this.Text = FormTitle;
// _wait.Close();
//}
//catch (Exception ex)
//{
// _wait.Close();
// List<LangObj> objList = new List<LangObj>();
// LangObj obj = new LangObj();
// obj.LConvertString = "异常:{0}";
// obj.LParameters = new object[] { ex.Message };
// objList.Add(obj);
// MessageDialog msg = new MessageDialog(2, objList);
// msg.ShowDialog();
//}
#endregion
}
private void grvDetail_CustomDrawRowIndicator(object sender, DevExpress.XtraGrid.Views.Grid.RowIndicatorCustomDrawEventArgs e)
{
if (e.RowHandle < 0)
return;
e.Info.DisplayText = (e.RowHandle + 1).ToString();
}
private void grvDetail_DoubleClick(object sender, EventArgs e)
{
grvDetail.PostEditor();
this.Validate();
if (grvDetail.RowCount == 0)
return;
if (grvDetail.FocusedRowHandle < 0)
return;
if (MSelectFlag == false)
{
int i = grvDetail.FocusedRowHandle;
ReturnData = new DataTable();
ReturnData = DataSource.Clone();
DataRow ndr = ReturnData.NewRow();
foreach (GridColumn gc in grvDetail.Columns)
{
ndr[gc.FieldName] = grvDetail.GetRowCellValue(i, gc);
}
ReturnData.Rows.Add(ndr);
ReturnData.AcceptChanges();
this.DialogResult = DialogResult.OK;
//MO2UserSend.SetRowCellValue(ReturnData);
// this.Visible = false;
}
else
{
string selectValue = grvDetail.GetRowCellValue(grvDetail.FocusedRowHandle, "选择").ToString().Trim();
if (selectValue == "")
{
selectValue = "Y";
}
else
{
selectValue = "";
}
grvDetail.SetRowCellValue(grvDetail.FocusedRowHandle, "选择", selectValue);
}
}
}
}