|
|
using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Data.Linq; using System.Linq; using System.Drawing; using System.Text; using System.Windows.Forms; using DevExpress.XtraEditors; using DevExpress.XtraGrid.Views.BandedGrid; using DevExpress.XtraGrid.Columns; using DevExpress.XtraGrid; using System.IO; using System.Threading; using ICSSoft.Base.Language.Tool; using ICSSoft.Base.Config.AppConfig; using ICSSoft.Base.UserControl.MessageControl; using ICSSoft.Base.Config.DBHelper; using ICSSoft.Base.Report.Filter; using ICSSoft.Base.UserControl.FormControl; using ICSSoft.Base.Report.GridReport; using ICSSoft.Base.ReferForm.AppReferForm; using ICSSoft.Frame.Data.BLL;
namespace ICSSoft.Frame.APP { public partial class FormICSMODEL2ECG : DevExpress.XtraEditors.XtraForm { private DataSet ds; private DataTable dtmain; private DataTable dtson; private string sqltxt = ""; private string sqlconn = ""; String guid = AppConfig.GetGuid(); private DataTable dataSource = null; string itemid=""; string itemcode="";
#region 构造函数
public FormICSMODEL2ECG() { InitializeComponent(); this.MaximumSize = new Size(Screen.PrimaryScreen.WorkingArea.Width, Screen.PrimaryScreen.WorkingArea.Height); this.WindowState = FormWindowState.Maximized; ds = new DataSet(); dtson = new DataTable(); dtson.Columns.Add("Number", typeof(bool)); dtson.Columns.Add("ECODE", typeof(string)); dtson.Columns.Add("ECDESC", typeof(string));
dtson.Columns["Number"].Caption = "序号"; dtson.Columns["ECODE"].Caption = "不良代码"; dtson.Columns["ECDESC"].Caption = "不良代码描述";
} #endregion
public FormICSMODEL2ECG(string id, string code) { InitializeComponent(); this.MaximumSize = new Size(Screen.PrimaryScreen.WorkingArea.Width, Screen.PrimaryScreen.WorkingArea.Height); this.WindowState = FormWindowState.Maximized; itemid = id; itemcode = code;
}
#region 操作权限
public DataTable RightOfExute() { DataTable rData = new DataTable(); rData.Columns.Add("BtnName"); rData.Columns.Add("ActionName"); //查看权限(必须有)
DataRow seeRow = rData.NewRow(); seeRow["BtnName"] = "see"; seeRow["ActionName"] = "查看"; rData.Rows.Add(seeRow);
List<Control> ControlList = new List<Control>(); ControlList.Add(btnCreate); //ControlList.Add(btnModify);
ControlList.Add(btnDel); foreach (Control ctr in ControlList) {
if (ctr.GetType() == typeof(SimpleButton)) { DataRow dr = rData.NewRow(); dr["BtnName"] = ctr.Name; dr["ActionName"] = ctr.Text; rData.Rows.Add(dr); } }
rData.AcceptChanges(); return rData; } public DataTable RightOfData()// 数据权限
{ DataTable rData = new DataTable(); rData.Columns.Add("BodyName"); rData.Columns.Add("ControlName"); rData.Columns.Add("ControlCaption");
rData.AcceptChanges(); return rData; } #endregion
#region 退出
private void btnClose_Click(object sender, EventArgs e) { AppConfig.CloseFormShow(this.Text); this.Close(); }
private void btnExit_Click(object sender, EventArgs e) { AppConfig.CloseFormShow(this.Text); this.Close(); }
#endregion
#region 移动窗体
private const int WM_NCHITTEST = 0x84; private const int HTCLIENT = 0x1; private const int HTCAPTION = 0x2; //首先必须了解Windows的消息传递机制,当有鼠标活动消息时,
//系统发送WM_NCHITTEST 消息给窗体作为判断消息发生地的根据。 nchittest
//假如你点击的是标题栏,窗体收到的消息值就是 HTCAPTION ,
//同样地,若接受到的消息是 HTCLIENT,说明用户点击的是客户区,也就是鼠标消息发生在客户区。
//重写窗体,使窗体可以不通过自带标题栏实现移动
protected override void WndProc(ref Message m) {
//当重载窗体的 WndProc 方法时,可以截获 WM_NCHITTEST 消息并改些该消息,
//当判断鼠标事件发生在客户区时,改写改消息,发送 HTCAPTION 给窗体,
//这样,窗体收到的消息就时 HTCAPTION ,在客户区通过鼠标来拖动窗体就如同通过标题栏来拖动一样。
//注意:当你重载 WndProc 并改写鼠标事件后,整个窗体的鼠标事件也就随之改变了。
switch (m.Msg) { case WM_NCHITTEST: base.WndProc(ref m); if ((int)m.Result == HTCLIENT) m.Result = (IntPtr)HTCAPTION; return; } //拦截双击标题栏、移动窗体的系统消息
if (m.Msg != 0xA3) { base.WndProc(ref m); }
} #endregion
#region 列表
private void grvDetail_CustomDrawRowIndicator(object sender, DevExpress.XtraGrid.Views.Grid.RowIndicatorCustomDrawEventArgs e) { if (e.Info.IsRowIndicator && e.RowHandle >= 0) e.Info.DisplayText = (e.RowHandle + 1).ToString();
} #endregion
#region 分页
private void rptPage_PageIndexChanged(object Sender, EventArgs e) {
DataTable data = AppConfig.GetPageData(dataSource, rptPage.PageIndex, rptPage.PageSize).Copy(); //DataTable data = AppConfig.GetPageDataByDb(tempTableName, "pagerowindex", rptPage.PageSize, rptPage.PageIndex, dataSource.Rows.Count);
grdDetail.DataSource = data; } #endregion
#region 全选
private void btnSelectAll_Click(object sender, EventArgs e) { grvDetail.PostEditor(); this.Validate(); for (int i = 0; i < grvDetail.RowCount; i++) { grvDetail.SetRowCellValue(i, colisSelect, "Y"); } } #endregion
#region 全消
private void btnCancelAll_Click(object sender, EventArgs e) { grvDetail.PostEditor(); this.Validate(); for (int i = 0; i < grvDetail.RowCount; i++) { grvDetail.SetRowCellValue(i, colisSelect, ""); } } #endregion
#region 双击
private void grvDetail_DoubleClick(object sender, EventArgs e) { if (grvDetail.FocusedRowHandle < 0) { return; } if (grvDetail.FocusedColumn == colisSelect) { if (grvDetail.GetRowCellValue(grvDetail.FocusedRowHandle, colisSelect).ToString() == "") { grvDetail.SetRowCellValue(grvDetail.FocusedRowHandle, colisSelect, "Y"); } else { grvDetail.SetRowCellValue(grvDetail.FocusedRowHandle, colisSelect, ""); }
} } #endregion
#region 删除
private void btnDel_Click(object sender, EventArgs e) { List<string> guidList = new List<string>(); for (int i = 0; i < grvDetail.RowCount; i++) { if (grvDetail.GetRowCellValue(i, colisSelect).ToString() == "Y") { guidList.Add(grvDetail.GetRowCellValue(i, colMODELID).ToString()); guidList.Add(grvDetail.GetRowCellValue(i, colECGID).ToString());
} } if (guidList.Count == 0 || guidList == null) {
ICSBaseSimpleCode.AppshowMessageBox("请选择数据"); return;
} if (ICSBaseSimpleCode.AppshowMessageBoxRepose("确定删除该产品与不良代码组的关系吗?删除后无法恢复") != DialogResult.OK) { for (int i = 0; i < grvDetail.RowCount; i++) { grvDetail.SetRowCellValue(i, colisSelect, ""); } return; }
ICSMODEL2ECGBLL.delete(guidList); ICSBaseSimpleCode.AppshowMessageBox("删除成功"); FormICSMODEL2ECG_Load(null, null); }
#endregion
#region 导出
private void btnOutPut_Click(object sender, EventArgs e) { FormOutExcel foe = new FormOutExcel(this.Tag.ToString(), grdDetail); foe.ShowDialog(); } #endregion
#region 新增
private void btnCreate_Click(object sender, EventArgs e) { string sql = @"SELECT a.[ID]
,a.[ECGCODE] AS '不良代码组代码' ,a.[ECGDESC] AS '不良代码组描述' ,a.[ROUTECODE] AS '途程代码' ,a.[OPCODE] AS '工序代码' ,a.[RESCODE] AS '资源代码'
FROM [ICSECG] a WHERE a.ID NOT IN (SELECT ECGID from dbo.ICSMODEL2ECG WHERE MODELCODE='" + itemcode + "') and 1=1";
DataTable data = DBHelper.ExecuteDataset(AppConfig.AppConnectString.ToString(), CommandType.Text, sql).Tables[0]; FormDataRefer reForm = new FormDataRefer(); reForm.FormTitle = "不良代码组信息"; DataTable menuData = data; reForm.DataSource = menuData; reForm.MSelectFlag = true; reForm.RowIndexWidth = 35; reForm.HideCols.Add("ID"); reForm.FormWidth = 500; reForm.FormHeight = 500; reForm.FilterKey = ""; //grvDetail.GetRowCellValue(grvDetail.FocusedRowHandle, grvDetail.FocusedColumn).ToString().Trim();
if (reForm.ShowDialog() == DialogResult.OK) { DataTable retData = reForm.ReturnData; if (retData.Rows.Count == 0) { ICSBaseSimpleCode.AppshowMessageBox("请选择数据!"); return; } ICSMODEL2ECGBLL.Add(retData, itemid, itemcode, AppConfig.AppConnectString); ICSBaseSimpleCode.AppshowMessageBox(0, "保存成功"); FormICSMODEL2ECG_Load(null, null);
}
} #endregion
//#region 保存
//private void btnSave_Click(object sender, EventArgs e)
//{
// List<string> ecgidList = new List<string>();
// List<string> ecidList = new List<string>();
// for (int i = 0; i < grvDetail.RowCount; i++)
// {
// ecidList.Add(grvDetail.GetRowCellValue(i, colECID).ToString());
// ecgidList.Add(grvDetail.GetRowCellValue(i, colECGID).ToString());
// }
// //if (seqload.Count() == seqList.Count() && seqload.Count(t => !seqList.Contains(t)) == 0)
// //{
// // ICSBaseSimpleCode.AppshowMessageBox(0, "没有要保存的数据!!");
// // return;
// //}
// ICSECG2ECBLL.Save(ecidList,ecgidList);
// ICSBaseSimpleCode.AppshowMessageBox(0, "保存成功");
//}
//#endregion
private void grvDetail_CustomDrawCell(object sender, DevExpress.XtraGrid.Views.Base.RowCellCustomDrawEventArgs e) {
if (e.RowHandle >= 0 && e.Column.FieldName == "DCTCODE") { //e.DisplayText = FormatHelper.
e.CellValue = "cccc"; } }
private void FormICSMODEL2ECG_Load(object sender, EventArgs e) { string sql = @"select '' as [isSelect],
b.ID as MODELID, b.MODELCODE as MODELCODE, b.MODELDESC as MODELDESC, c.ID as ECGID, c.ECGCODE as ECGCODE, c.ECGDESC as ECGDESC, d.ROUTECODE as ROUTECODE, d.ROUTEDESC as ROUTEDESC, e.OPCODE as OPCODE, e.OPDESC as OPDESC, f.RESCODE as RESCODE, f.RESDESC as RESDESC, a.MUSERName as MUSERName, a.MTIME as MTIME from dbo.ICSMODEL2ECG a left join ICSMODEL b on a.MODELID=b.ID left join ICSECG c on a.ECGCODE=c.ECGCODE left join ICSROUTE d on a.ROUTECODE=d.ROUTECODE left join ICSOP e on a.OPCODE=e.OPCODE left join ICSRES f on a.RESCODE=f.RESCODE
where b.ID='{0}'";
sql = string.Format(sql, itemid); DataTable dt = DBHelper.ExecuteDataset(AppConfig.AppConnectString, CommandType.Text, sql).Tables[0]; grdDetail.DataSource = dt; }
//private void grvDetail_CustomDrawCell(object sender, DevExpress.XtraGrid.Views.Base.RowCellCustomDrawEventArgs e)
//{
// if (e.RowHandle >= 0 && e.Column.FieldName == "DCTCODE")
// {
// //e.DisplayText = FormatHelper.
// e.CellValue = "cccc";
// }
//}
}
}
|