using DevExpress.XtraGrid.Columns; using DevExpress.XtraGrid.Views.Grid; using Gs.DevApp.ToolBox; using Newtonsoft.Json; using System; using System.Collections.Generic; using System.Windows.Forms; namespace Gs.DevApp.UserControl { public partial class showLayOut : DevExpress.XtraEditors.XtraForm { string formNamespace = ""; List gridViews = new List(); public showLayOut(string _formNamespace, List _gridViews) { formNamespace = _formNamespace; gridViews = _gridViews; InitializeComponent(); this.btnCancel.Click += BtnCancel_Click; this.btnSave.Click += BtnSave_Click; } private void BtnSave_Click(object sender, EventArgs e) { // --col1,100,101,102,103,104,105,1,title&col2,100,101,102,103,104,105,1,title if (txt_layOut.SelectedIndex <= 0) { MsgHelper.Warning("请选择适用范围!"); return; } GridView gridView1 = gridViews[0]; System.Text.StringBuilder sb = new System.Text.StringBuilder(); foreach (GridColumn column in gridView1.Columns) { string controlId = column.Name; int controlPosX = 0; int controlPosY = 0; int controlWidth = 0; int controlMinWidth = column.MinWidth; int controlMaxWidth = column.MaxWidth; int controlHeight = 0; int controlVisible = column.Visible == true ? 1 : 0; string controlTitle = string.IsNullOrEmpty(column.Caption.Trim()) ? "未定义" : column.Caption.Trim(); int controlIdx = column.VisibleIndex; if (sb.Length > 0) sb.Append("&"); sb.Append(controlId); sb.Append(","); sb.Append(controlPosX); sb.Append(","); sb.Append(controlPosY); sb.Append(","); sb.Append(controlWidth); sb.Append(","); sb.Append(controlMinWidth); sb.Append(","); sb.Append(controlMaxWidth); sb.Append(","); sb.Append(controlHeight); sb.Append(","); sb.Append(controlVisible); sb.Append(","); sb.Append(controlTitle); sb.Append(","); sb.Append(controlIdx); } var _obj = new { applyUserGuid = txt_layOut.SelectedIndex, layoutLst = sb.ToString(), formPath = formNamespace }; try { var strJson = UtilityHelper.HttpPost("", "Fm/EditModel", JsonConvert.SerializeObject(_obj)); var _rtn = UtilityHelper.ReturnToDynamic(strJson); MsgHelper.Warning("提示:" + _rtn.rtnData.outMsg); if (_rtn.rtnCode > 0) { DialogResult = DialogResult.OK; Close(); } else { DialogResult = DialogResult.None; } } catch (Exception ex) { DialogResult = DialogResult.Cancel; MsgHelper.Warning("提示:" + ex.Message); } } private void BtnCancel_Click(object sender, EventArgs e) { Close(); } } }