using System; using System.Collections.Generic; using System.Windows.Forms; using DevExpress.XtraEditors; using System.Linq; using DeviceRepair.Models; using DeviceRepairAndOptimization.Common; using DeviceRepairAndOptimization.Biz; namespace DeviceRepairAndOptimization.Pages.FormVersion { public partial class Page_FormVersionDialog : XtraForm { public int SelectValue = 0; public string SelectText = string.Empty; public Page_FormVersionDialog(int AutoID) { InitializeComponent(); SelectValue = AutoID; } private void btn_Submit_Click(object sender, EventArgs e) { int[] hands = gridView1.GetSelectedRows(); if (hands.Length == 1) { MaintenanceFormVersionInfo entity = (MaintenanceFormVersionInfo)gridView1.GetRow(hands[0]); if (entity != null && entity.AutoID > 0) { SelectValue = entity.AutoID; SelectText = entity.VersionCode + "-" + entity.VersionRev; DialogResult = DialogResult.OK; return; } } if (hands.Length == 0) { if (XtraMessageBoxHelper.AskYesNo($"当前没有选择任何数据,请问是否继续?") == DialogResult.Yes) { SelectValue = 0; SelectText = ""; DialogResult = DialogResult.OK; return; } } XtraMessageBoxHelper.Error($"选中项只能存在1行!"); } private void btn_Cancel_Click(object sender, EventArgs e) { DialogResult = DialogResult.Cancel; } /// /// 程序加载 /// /// /// private void Page_FormVersionDialog_Load(object sender, EventArgs e) { // 关闭列头右键菜单 gridView1.OptionsMenu.EnableColumnMenu = false; BindDatas(); if (SelectValue != 0) { // 遍历每一行,找到符合条件的行并选择 for (int i = 0; i < gridView1.RowCount; i++) { int v = 0; if (int.TryParse(gridView1.GetRowCellValue(i, "AutoID") + "", out v) && v == SelectValue) { gridView1.SelectRow(i); break; // 可以选择中断循环,如果只需要选择第一行 } } } } /// /// 数据绑定 /// private void BindDatas() { try { APIResponseData apiResponseData = FormManager.Instance.GetQuery("");//List result if (!apiResponseData.IsSuccess) throw new Exception(apiResponseData.Message); if (apiResponseData.Data == null) { XtraMessageBoxHelper.Error($"获取数据出错!"); return; } List result = apiResponseData.ToDeserializeObject>(); List lst = result.Where(x => x.FormStatus == true)?.ToList(); gridControl1.DataSource = lst; } catch (Exception ex) { XtraMessageBoxHelper.Error(ex.Message); } } private void gridView1_CustomDrawColumnHeader(object sender, DevExpress.XtraGrid.Views.Grid.ColumnHeaderCustomDrawEventArgs e) { (new Action(BaseControl.GridControlExtend.CustomDrawColumnHeader)).Invoke(e); } /// /// 选择一行数据 /// /// /// private void gridView1_RowCellClick(object sender, DevExpress.XtraGrid.Views.Grid.RowCellClickEventArgs e) { if (e.Column.Caption == "Selection") { if (gridView1.SelectedRowsCount > 0) { for (int i = 0; i < this.gridView1.RowCount; i++) { if (e.Clicks == 1 && this.gridView1.IsRowSelected(i) && this.gridView1.FocusedRowHandle.ToString().Equals(i.ToString()) == false) { this.gridView1.UnselectRow(i); } } } } } } }