using DevExpress.XtraGrid.Columns;
|
using DevExpress.XtraGrid.Views.Grid;
|
using Gs.DevApp.Entity;
|
using Gs.DevApp.ToolBox;
|
using Newtonsoft.Json;
|
using System;
|
using System.Data;
|
using System.Drawing;
|
using System.Windows.Forms;
|
using System.Windows.Forms.VisualStyles;
|
|
namespace Gs.DevApp.DevFrm.PDA
|
{
|
public partial class SelectPage : DevExpress.XtraEditors.XtraForm
|
{
|
private readonly string _webServiceName = "MesSysPageviewManager/";
|
private string userGuid = "";
|
/// <summary>
|
///
|
/// </summary>
|
/// <param name="_suppId">供应商</param>
|
/// <param name="_receiveOrgId">收料组织</param>
|
/// <param name="_isWw">是否委外</param>
|
public SelectPage(string _userGuid)
|
{
|
InitializeComponent();
|
this.gridView1.CustomDrawColumnHeader += (s, e) => { gridViewLeftList_CustomDrawColumnHeader(s, e); };
|
this.gridView1.MouseUp += (s, e) => { gridViewLeftList_MouseUp(s, e); };
|
this.userGuid = _userGuid;
|
Gs.DevApp.ToolBox.UtilityHelper.SetGridViewParameter(gridView1, null, null, null, "", null, null, false);
|
getPageList(1);
|
btnIn.Click += (s, e) =>
|
{
|
System.Text.StringBuilder sbList = new System.Text.StringBuilder();
|
DataTable dt = this.gcMain.DataSource as DataTable;
|
{
|
foreach (DataRow dr in dt.Rows)
|
{
|
string checkBox = dr["chkInt"].ToString();
|
string _guid = dr["guid"].ToString();
|
if (Gs.DevApp.ToolBox.UtilityHelper.ToCheck(checkBox))
|
{
|
if (sbList.Length > 0)
|
sbList.Append(",");
|
sbList.Append(_guid);
|
}
|
}
|
}
|
var _obj = new
|
{
|
userGuid = Gs.DevApp.ToolBox.UtilityHelper.ToGuid(userGuid),
|
bindGuidslist = sbList.ToString(),
|
fType = "PDA页面",
|
};
|
try
|
{
|
var strJson = UtilityHelper.HttpPost("",
|
"MesSysPageviewManager/SetUserBind",
|
JsonConvert.SerializeObject(_obj));
|
var _rtn = UtilityHelper.ReturnToDynamic(strJson);
|
MsgHelper.Warning("提示:" + _rtn.rtnData.outMsg);
|
if (_rtn.rtnCode > 0)
|
{
|
this.Close();
|
}
|
}
|
catch (Exception ex)
|
{
|
MsgHelper.Warning("提示:" + ex.Message);
|
}
|
};
|
}
|
|
|
/// <summary>
|
/// </summary>
|
/// <param name="curPage">第几页</param>
|
/// <param name="pageSize">每页几条</param>
|
private void getPageList(int curPage)
|
{
|
var _sbSqlWhere = "";
|
var pgq = new PageQueryModel(curPage, 999999, "a.PAGE_GROUP", "asc", "", _sbSqlWhere.ToString(), userGuid);
|
var json = JsonConvert.SerializeObject(pgq);
|
try
|
{
|
var strReturn = UtilityHelper.HttpPost("",
|
_webServiceName + "GetListPage", json);
|
var dd = UtilityHelper.ReturnToTablePage(strReturn);
|
if (dd.rtnCode > 0)
|
{
|
DataTable dt = dd.rtnData.list;
|
gcMain.BindingContext = new BindingContext();
|
if (dt.Rows.Count > 0)
|
{
|
gcMain.DataSource = dt;
|
gcMain.ForceInitialize();
|
gridView1.BestFitColumns(); Gs.DevApp.ToolBox.UtilityHelper.SetGridLayout(gridView1);
|
}
|
else
|
UtilityHelper.SetDefaultTable(gcMain, gridView1);
|
}
|
else
|
{
|
ToolBox.MsgHelper.ShowError("提示:" + dd.rtnMsg);
|
}
|
}
|
catch (Exception ex)
|
{
|
MsgHelper.Warning("提示:" + ex.Message);
|
}
|
}
|
|
|
#region 绘制表头全选勾选框
|
/// <summary>
|
/// 绘制表头全选勾选框
|
/// </summary>
|
private Rectangle checkBoxColumnHeaderRect = Rectangle.Empty;
|
private GridColumn checkBoxColumn = null;
|
private void gridViewLeftList_CustomDrawColumnHeader(object sender, ColumnHeaderCustomDrawEventArgs e)
|
{
|
if (e.Column != null && e.Column.AbsoluteIndex == 0)
|
{
|
e.Column.Caption = "";
|
checkBoxColumnHeaderRect = e.Bounds;
|
checkBoxColumn = e.Column;
|
//须把列头标题设置为空
|
e.Painter.DrawObject(e.Info);
|
//在列头中心显示复选框
|
int x = e.Bounds.X + (int)((e.Bounds.Width - CheckBoxRenderer.GetGlyphSize(e.Graphics, CheckBoxState.UncheckedNormal).Width) * 0.5);
|
int y = e.Bounds.Y + (int)((e.Bounds.Height - CheckBoxRenderer.GetGlyphSize(e.Graphics, CheckBoxState.UncheckedNormal).Height) * 0.5);
|
Point location = new Point(x, y);
|
CheckBoxState checkBoxState;
|
if (e.Column.Tag != null && e.Column.Tag.ToString() == "1")
|
checkBoxState = CheckBoxState.CheckedPressed;
|
else
|
checkBoxState = CheckBoxState.UncheckedNormal;
|
CheckBoxRenderer.DrawCheckBox(e.Graphics, location, checkBoxState);
|
e.Handled = true;
|
}
|
}
|
|
private void gridViewLeftList_MouseUp(object sender, MouseEventArgs e)
|
{
|
if (checkBoxColumnHeaderRect != Rectangle.Empty)
|
{
|
if (e.X > checkBoxColumnHeaderRect.X && e.X < (checkBoxColumnHeaderRect.X + checkBoxColumnHeaderRect.Width) && e.Y > checkBoxColumnHeaderRect.Y && e.Y < (checkBoxColumnHeaderRect.Y + checkBoxColumnHeaderRect.Height))
|
{
|
DataTable _Table = (DataTable)gcMain.DataSource;
|
if (checkBoxColumn.Tag != null && checkBoxColumn.Tag.ToString() == "1")
|
{
|
checkBoxColumn.Tag = "0";
|
foreach (DataRow row in _Table.Rows)
|
{
|
row["chkInt"] = false;
|
}
|
}
|
else
|
{
|
checkBoxColumn.Tag = "1";
|
foreach (DataRow row in _Table.Rows)
|
{
|
row["chkInt"] = true;
|
}
|
}
|
gcMain.BindingContext = new BindingContext();
|
gcMain.DataSource = _Table;
|
gcMain.ForceInitialize();
|
gridView1.CloseEditor();
|
gridView1.PostEditor();
|
gridView1.UpdateCurrentRow();
|
gridView1.InvalidateColumnHeader(checkBoxColumn);
|
}
|
}
|
}
|
#endregion
|
}
|
}
|