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 { /// /// 数据源 /// public DataTable DataSource = null; /// /// 返回数据 /// public DataTable ReturnData = null; /// /// 窗体标题 /// public string FormTitle = ""; /// /// 列表边距 /// public int RowIndexWidth = 40; /// /// 是否多选 /// public bool MSelectFlag = false; /// /// 隐藏字段列表 /// public List HideCols = new List(); /// /// 绑定默认选择的字段 /// public Dictionary> DefaultSelectItems=new Dictionary>(); public int FormWidth = 200; public int FormHeight = 200; /// /// 近似值 /// 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 objList = new List(); // 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 objList = new List(); // 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 valueList = DefaultSelectItems[gc.FieldName]; // if (valueList.Contains(value)) // { // grvDetail.SetRowCellValue(i, "选择", "Y"); // } // } // } // } // this.Text = FormTitle; // _wait.Close(); //} //catch (Exception ex) //{ // _wait.Close(); // List objList = new List(); // 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); } } } }