/****************************** * 说明:Bom选择 * 创建人:龚宇超 * 创建日期:2018-02-06 * 修改人: * 修改日期: * 修改备注: * 版本:1.0.0.0 ******************************/ 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.Control.Model; using Lskj.PubBillAccount.Model; using Lskj.Business.Impl; using DevExpress.XtraGrid.Columns; using DevExpress.XtraGrid; using Lskj.Data; namespace Lskj.PubBillAccount { /// /// Bom选择 /// public partial class FrmBomSelect : BaseForm { /// /// 是否记住操作,后续不在弹出界面 /// public bool OnlyPopup; /// /// 标题 /// public string Caption; /// /// 选中的bom数据 /// public DataRow[] SelectBomRows; /// /// The bom data table /// public DataTable BomDataTable; /// /// 单据明细表格列 /// public GridColumnCollection GridColumns; public FrmBomSelect() { InitializeComponent(); } /// /// 说明:窗口加载 /// 创建人:龚宇超 /// 创建日期:2018-02-06 /// 修改人: /// 修改日期: /// 修改备注: /// 版本:1.0 /// /// The instance containing the event data. protected override void OnLoad(EventArgs e) { try { base.OnLoad(e); if (BomDataTable != null) { this.Text = string.IsNullOrEmpty(Caption) ? this.Text : this.Caption; DataColumn dataColumn = new DataColumn("Id", typeof(bool)); dataColumn.DefaultValue = true; this.BomDataTable.Columns.Add(dataColumn); this.InitGridView(); } } catch (Exception ex) { string Message = ErrorMessage.PromptErrorMessage(ex); MessageUtil.Show(Message,ex.Message); } } /// /// 说明:初始化表格控件 /// 创建人:龚宇超 /// 创建日期:2018-02-07 /// 修改人: /// 修改日期: /// 修改备注: /// 版本:1.0 /// /// The table. private void InitGridView() { // 增加选择列 GridColumn gridColumn = new GridColumn(); gridColumn.FieldName = gridColumn.Name = "Id"; gridColumn.Caption = "选择"; gridColumn.Width = 50; gridColumn.VisibleIndex = 1; gridColumn.AppearanceHeader.TextOptions.HAlignment = DevExpress.Utils.HorzAlignment.Center; gridColumn.Visible = true; gcMain.GridView.Columns.Add(gridColumn); // 添加其他列 foreach (GridColumn item in GridColumns) { GridColumn column = new GridColumn(); column.Caption = item.Caption; column.FieldName = item.FieldName; column.OptionsColumn.AllowEdit = false; column.OptionsColumn.ReadOnly = true; column.Width = item.Width; column.VisibleIndex = item.VisibleIndex; column.Visible = item.Visible; gcMain.GridView.Columns.Add(column); } gcMain.SetGridViewDataSource(BomDataTable); } /// /// 说明:获取选中数据 /// 创建人:龚宇超 /// 创建日期:2018-02-07 /// 修改人: /// 修改日期: /// 修改备注: /// 版本:1.0 /// /// DataRow[]. private DataRow[] GetSelectRows() { DataTable table = gcMain.GridControl.DataSourceTable(); return table.Select("Id = true").ToArray(); } /// /// 说明:全选 /// 创建人:龚宇超 /// 创建日期:2018-02-07 /// 修改人: /// 修改日期: /// 修改备注: /// 版本:1.0 /// /// The source of the event. /// The instance containing the event data. void OnSelectAllClick(object sender, EventArgs e) { try { DataTable table = gcMain.GridControl.DataSourceTable(); foreach (DataRow item in table.Rows) { item["Id"] = true; } } catch (Exception ex) { //MessageUtil.Show(ex); string Message = ErrorMessage.PromptErrorMessage(ex); MessageUtil.Show(Message,ex.Message); } } /// /// 说明:反选 /// 创建人:龚宇超 /// 创建日期:2018-02-07 /// 修改人: /// 修改日期: /// 修改备注: /// 版本:1.0 /// /// The source of the event. /// The instance containing the event data. void OnClearSelectAllClick(object sender, EventArgs e) { try { DataTable table = gcMain.GridControl.DataSourceTable(); foreach (DataRow item in table.Rows) { item["Id"] = false; } } catch (Exception ex) { //MessageUtil.Show(ex); string Message = ErrorMessage.PromptErrorMessage(ex); MessageUtil.Show(Message,ex.Message); } } /// /// 说明:确定 /// 创建人:龚宇超 /// 创建日期:2018-02-07 /// 修改人: /// 修改日期: /// 修改备注: /// 版本:1.0 /// /// The source of the event. /// The instance containing the event data. void OnOkButtonClick(object sender, EventArgs e) { try { DataRow[] rows = GetSelectRows(); if (rows == null || rows.Length == 0) { MessageUtil.Show(ResourceKeys.SelectRowIsNull); return; } this.SelectBomRows = rows; this.OnlyPopup = chkOperate.Checked; this.DialogResult = DialogResult.OK; } catch (Exception ex) { //MessageUtil.Show("确定事件出错!" + ex); string Message = ErrorMessage.PromptErrorMessage(ex); MessageUtil.Show(Message,ex.Message); } } /// /// 说明:取消 /// 创建人:龚宇超 /// 创建日期:2018-02-07 /// 修改人: /// 修改日期: /// 修改备注: /// 版本:1.0 /// /// The source of the event. /// The instance containing the event data. void OnCancelButtonClick(object sender, EventArgs e) { try { this.DialogResult = DialogResult.Cancel; } catch (Exception ex) { //MessageUtil.Show(ex); string Message = ErrorMessage.PromptErrorMessage(ex); MessageUtil.Show(Message,ex.Message); } } } }