| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472 |
- using System;
- using System.Collections.Generic;
- using System.ComponentModel;
- using System.Drawing;
- using System.Data;
- using System.Linq;
- using System.Text;
- using System.Windows.Forms;
- using Infragistics.Win.UltraWinGrid;
- using System.Collections;
- using CoreFS.CA06;
- using Core.Mes.Client.Comm.Control;
- using Core.Mes.Client.Comm.Server;
- using Core.Mes.Client.Comm.Tool;
- //详细信息显示Grid
- namespace Core.StlMes.Client.Lims.Data.Mat
- {
- public partial class PublicUltraGridDetail : UserControl
- {
- public event EventHandler PublicUltraGridDetailActive;
- //private DataTable dataTable;
- public DataTable DataTable
- {
- get { return dataTable1; }
- set { dataTable1 = value; }
- }
- //private UltraGrid ug;
- public UltraGrid Ug
- {
- get { return ultraGrid1; }
- set { ultraGrid1 = value; }
- }
- private UltraGridRow ur;
- public UltraGridRow Ur
- {
- get { return ur; }
- set { ur = value; }
- }
- public PublicUltraGridDetail()
- {
- InitializeComponent();
- }
- private void PublicUltraGridDetail_Load(object sender, EventArgs e)
- {
- }
- //初始化基础明细数据列
- public void InitColumnsBaseDetail(string[] show, bool isShow, string[] ope)
- {
- string[] arrColumns = new string[] { "CHK", "FLAG", "FLAG_DESC", "CHECK_NO", "BATCH_NO", "SAMPLE_NO", "ITEM_NAME", "SAMPLE_WEIGHT", "PRODUCT_STD", "GRADE", "WEIGHT", "CHECK_COUNT", "CHECK_COUNT_DESC", "CONSIGN_DEPT", "CONSIGN_NAME", "CONSIGN_TIME", "DEPT_ID", "DEPT_ID_DESC", "MAT_CODE", "MAT_NAME", "MAT_UNIT", "LAB_RECEIVE_NAME", "LAB_RECEIVE_TIME", "CHECK_NAME", "CHECK_TIME", "AUDIT_NAME", "AUDIT_TIME", "MAT_VALUE", "SAMPLE_REMARK", "REMARK" };//"ISPRODUCER",
- string[] arrCaption = new string[] { "选择", "状态", "状态", "检验编号", "批次号", "试样号", "试样名称", "试样重量", "技术标准", "牌号", "重量", "初复检", "初复检", "委托单位", "委托人", "委托时间", "试验室", "试验室", "检验项编码", "检验项", "单位", "试验室收样人", "试验室收样时间", "试验人", "试验时间", "审核人", "审核时间", "试验结果", "来样备注", "备注" };//"是否监制",
- InitColumns(arrColumns, arrCaption);
- setColumnShowOrHidden(show, isShow);
- setOtherColumnReadOnly(ope);//可编辑列
- }
- //初始化明细数据列
- public void InitColumnsDetail(string[] show, bool isShow, string[] ope)
- {
- string[] arrColumns = new string[] { "CHK", "FLAG", "FLAG_DESC", "CHECK_NO", "BATCH_NO", "SAMPLE_NO", "MAT_CODE", "MAT_NAME", "MAT_UNIT", "LAB_RECEIVE_NAME", "LAB_RECEIVE_TIME", "CHECK_NAME", "CHECK_TIME", "AUDIT_NAME", "AUDIT_TIME", "MAT_VALUEE", "REMARK" };//"ISPRODUCER",
- string[] arrCaption = new string[] { "选择", "状态", "状态", "检验编号", "批次号", "试样号", "检验项编码", "检验项", "单位", "试验室收样人", "试验室收样时间", "试验人", "试验时间", "审核人", "审核时间", "试验结果", "备注" };//"是否监制",
- InitColumns(arrColumns, arrCaption);
- setColumnShowOrHidden(show, isShow);
- setOtherColumnReadOnly(ope);//可编辑列
- }
- //初始化列
- public void InitColumns(string[] arrColumns, string[] arrCaption)
- {
- PublicMat.InitColumns(arrColumns, arrCaption, dataTable1);
- }
- //设置列是否隐藏
- public void setColumnShowOrHidden(string[] keys, bool isShow)
- {
- PublicMat.setColumnShowOrHidden(ultraGrid1, keys, isShow);
- }
- //可编辑列
- public void setOtherColumnReadOnly(string[] keys)
- {
- PublicMat.setOtherColumnReadOnly(ultraGrid1, keys);
- }
- //自适应
- private void RefreshAutoSize(int num)
- {
- if (num < 0)
- {
- return;
- }
- for (int i = 0; i < ultraGrid1.DisplayLayout.Bands[0].Columns.Count; i++)
- {
- if (i < num)
- {
- ultraGrid1.DisplayLayout.Bands[0].Columns[i].PerformAutoResize(Infragistics.Win.UltraWinGrid.PerformAutoSizeType.AllRowsInBand);//其他自适应
- }
- else
- {
- ultraGrid1.DisplayLayout.Bands[0].Columns[i].Width = 100;//设置列宽
- }
- }
- }
- //自适应
- private void RefreshAutoSize()
- {
- for (int i = 0; i < ultraGrid1.DisplayLayout.Bands[0].Columns.Count; i++)
- {
- if (ultraGrid1.DisplayLayout.Bands[0].Columns[i].Key == "SAMPLE_NO")
- {
- ultraGrid1.DisplayLayout.Bands[0].Columns[i].Width = 90;
- }
- else
- {
- ultraGrid1.DisplayLayout.Bands[0].Columns[i].Width = 60;
- }//设置列宽
- }
- }
- private void ultraGrid1_AfterRowActivate(object sender, EventArgs e)
- {
- ur = ultraGrid1.ActiveRow;
- if (PublicUltraGridDetailActive != null)
- {
- //ur = ultraGrid1.ActiveRow;
- PublicUltraGridDetailActive(sender, e);//调用委托事件
- }
- }
- private void ultraGrid1_AfterSelectChange(object sender, AfterSelectChangeEventArgs e)
- {
- PublicMat.SelectRow(ultraGrid1);
- }
- /// <summary>
- /// 显示列
- /// </summary>
- /// <param name="dt"></param>源DataTable
- /// <param name="dataTable"></param>需要增加的DataTable
- public void ShowColumns(int startNum, DataTable dt, DataTable dataTable)
- {
- if (dt != null && dataTable != null)
- {
- int dcNum = dataTable.Columns.Count;//清除列
- if (dcNum > startNum)
- {
- for (int i = 0; i < dcNum - startNum; i++)
- {
- dataTable.Columns.RemoveAt(startNum);
- }
- }
- foreach (DataRow dr in dt.Rows)//增加列
- {
- try
- {
- DataColumn dc = new DataColumn(dr["MAT_CODE"].ToString());
- dc.Caption = dr["MAT_NAME"].ToString();
- dataTable.Columns.Add(dc);
- }
- catch
- {
- continue;
- }
- }
- }
- }
- /// <summary>
- /// 显示取样明细列
- /// </summary>
- /// <param name="dt"></param>源DataTable
- /// <param name="dataTable"></param>需要增加的DataTable
- public void AddColumns(int startNum, DataTable dt, DataTable dataTable)
- {
- //dt != null &&
- if (dataTable != null)
- {
- dataTable1.Rows.Clear();
- int dcNum = dataTable.Columns.Count;//清除列
- if (dcNum > startNum)
- {
- for (int i = 0; i < dcNum - startNum; i++)
- {
- dataTable.Columns.RemoveAt(startNum);
- }
- }
- DataColumn dc;
- dc = new DataColumn("SAMPLE_NO");
- dc.Caption = "试样号";
- dataTable.Columns.Add(dc);
- if (dt != null)
- {
- foreach (DataRow dr in dt.Rows)//增加列
- {
- try
- {
- dc = new DataColumn(dr["MAT_CODE"].ToString());
- dc.Caption = dr["MAT_NAME"].ToString();
- dataTable.Columns.Add(dc);
- }
- catch
- {
- continue;
- }
- }
- }
- dc = new DataColumn("GET_SAMPLE_NAME");
- dc.Caption = "取样人";
- dataTable.Columns.Add(dc);
- dc = new DataColumn("GET_SAMPLE_TIME");
- dc.Caption = "取样时间";
- dataTable.Columns.Add(dc);
- dc = new DataColumn("GET_SAMPLE_SHIFT");
- dc.Caption = "取样班次";
- dataTable.Columns.Add(dc);
- dc = new DataColumn("GET_SAMPLE_CLASS");
- dc.Caption = "取样班组";
- dataTable.Columns.Add(dc);
- dc = new DataColumn("GET_SAMPLE_WEIGHT");
- dc.Caption = "取样重量";
- dataTable.Columns.Add(dc);
- dc = new DataColumn("GET_SMALL_COUNT");
- dc.Caption = "份样数量";
- dataTable.Columns.Add(dc);
- dc = new DataColumn("GET_SAMPLE_DEPT");
- dc.Caption = "取样部门";
- dataTable.Columns.Add(dc);
- dc = new DataColumn("GET_SAMPLE_AREA");
- dc.Caption = "取样地点";
- dataTable.Columns.Add(dc);
- dc = new DataColumn("GET_SAMPLE_REMARK");
- dc.Caption = "取样备注";
- dataTable.Columns.Add(dc);
- }
- }
- //查询检验委托明细信息
- public void QueryCheckConsignDetail(ArrayList arrayList, OpeBase ob, int startNum)
- {
- DataTable dt = PublicServer.GetData("com.steering.lims.data.mat.PublicMatBase.QueryCheckConsignDetail",
- new Object[] { arrayList }, ob);
- if (dt == null || dt.Rows.Count == 0)
- {
- dataTable1.Rows.Clear();
- return;
- }
- if (startNum == -1)
- {
- GridHelper.CopyDataToDatatable(dt, dataTable1, true);//把dt复制给dataTable4
- //GridHelper.RefreshAndAutoSize(ultraGrid1);//刷新Grid
- return;
- }
- ShowColumns(startNum, dt, dataTable1);
- string row = "";//存放所有样管号判断是否有重复样管号
- string mat_code = "";//存放所有样管号判断是否有重复检验项
- dataTable1.Rows.Clear();//清除行
- DataRow newDr = dataTable1.NewRow();
- DataRow newDrUnit = dataTable1.NewRow();//增加单位行
- foreach (DataRow dr in dt.Rows)
- {
- if (mat_code.IndexOf(dr["MAT_CODE"].ToString()) < 0)//判断是否有重复检验项
- {
- mat_code += dr["MAT_CODE"].ToString() + " ";
- newDrUnit[dr["MAT_CODE"].ToString()] = dr["MAT_UNIT"].ToString();
- }
- if (row.IndexOf(dr["SAMPLE_NO"].ToString()) < 0)//判断是否有重复样管号,有则不增加行只增加对应的列
- {
- row += dr["SAMPLE_NO"].ToString() + " ";
- newDr = dataTable1.NewRow();
- newDr["SAMPLE_NO"] = dr["SAMPLE_NO"].ToString();
- //newDr[dr["MAT_CODE"].ToString()] = "√";
- dataTable1.Rows.Add(newDr);
- }
- }
- dataTable1.Rows.InsertAt(newDrUnit, 0);
- //if (ultraGrid1.Rows.Count > 0)
- //{
- // ultraGrid1.Rows[0].Activation = Activation.ActivateOnly;//第一行单位不可编辑
- //}
- //GridHelper.RefreshAndAutoSize(ultraGrid1);//刷新Grid
- ultraGrid1.DataBind();//dataTable发生变化提交给ultraGrid
- RefreshAutoSize();
- }
- //查询检验委托明细信息
- public void QueryCheckConsignDetail(DataTable dt, int startNum, string strCheck_No, int sample_count)
- {
- if (dt == null || dt.Rows.Count == 0)
- {
- return;
- }
- if (startNum == -1)
- {
- GridHelper.CopyDataToDatatable(dt, dataTable1, true);//把dt复制给dataTable4
- //GridHelper.RefreshAndAutoSize(ultraGrid1);//刷新Grid
- return;
- }
- ShowColumns(startNum, dt, dataTable1);
- //string row = "";//存放所有样管号判断是否有重复样管号
- string mat_code = "";//存放所有样管号判断是否有重复检验项
- dataTable1.Rows.Clear();//清除行
- DataRow newDr = dataTable1.NewRow();
- DataRow newDrUnit = dataTable1.NewRow();//增加单位行
- foreach (DataRow dr in dt.Rows)
- {
- if (mat_code.IndexOf(dr["MAT_CODE"].ToString()) < 0)//判断是否有重复检验项
- {
- mat_code += dr["MAT_CODE"].ToString() + " ";
- newDrUnit[dr["MAT_CODE"].ToString()] = dr["MAT_UNIT"].ToString();
- }
- //if (row.IndexOf(dr["SAMPLE_NO"].ToString()) < 0)//判断是否有重复样管号,有则不增加行只增加对应的列
- //{
- // row += dr["SAMPLE_NO"].ToString() + " ";
- // newDr = dataTable1.NewRow();
- // newDr["SAMPLE_NO"] = dr["SAMPLE_NO"].ToString();
- // //newDr[dr["MAT_CODE"].ToString()] = "√";
- // dataTable1.Rows.Add(newDr);
- //}
- }
- for (int i = 1; i <= sample_count; i++)
- {
- newDr = dataTable1.NewRow();
- newDr["SAMPLE_NO"] = strCheck_No + "-" + i.ToString();
- //newDr[dr["MAT_CODE"].ToString()] = "√";
- dataTable1.Rows.Add(newDr);
- }
- dataTable1.Rows.InsertAt(newDrUnit, 0);
- //if (ultraGrid1.Rows.Count > 0)
- //{
- // ultraGrid1.Rows[0].Activation = Activation.ActivateOnly;//第一行单位不可编辑
- //}
- //GridHelper.RefreshAndAutoSize(ultraGrid1);//刷新Grid
- ultraGrid1.DataBind();//dataTable发生变化提交给ultraGrid
- RefreshAutoSize();
- }
- //查询检验委托明细信息
- public void QueryCheckConsignDetail_Dept(string path, ArrayList arrayList, OpeBase ob, int startNum, string[] arrId)
- {
- DataTable dt = PublicServer.GetData("com.steering.lims.data." + path + ".QueryCheckConsignDetail_Dept",
- arrId == null ? new Object[] { arrayList } : new Object[] { arrayList, arrId }, ob);
- if (dt == null || dt.Rows.Count == 0)
- {
- dataTable1.Rows.Clear();
- int dcNum = dataTable1.Columns.Count;//清除列
- if (dcNum > startNum)
- {
- for (int i = 0; i < dcNum - startNum; i++)
- {
- dataTable1.Columns.RemoveAt(startNum);
- }
- }
- return;
- }
- if (startNum == -1)
- {
- GridHelper.CopyDataToDatatable(dt, dataTable1, true);//把dt复制给dataTable4
- //GridHelper.RefreshAndAutoSize(ultraGrid1);//刷新Grid
- return;
- }
- ShowColumns(startNum, dt, dataTable1);
- string row = "";//存放所有样管号判断是否有重复样管号
- string mat_code = "";//存放所有样管号判断是否有重复检验项
- dataTable1.Rows.Clear();//清除行
- DataRow newDr = dataTable1.NewRow();
- DataRow newDrUnit = dataTable1.NewRow();//增加单位行
- foreach (DataRow dr in dt.Rows)
- {
- if (mat_code.IndexOf(dr["MAT_CODE"].ToString()) < 0 && dataTable1.Columns.Contains(dr["MAT_CODE"].ToString()))//判断是否有重复检验项
- {
- mat_code += dr["MAT_CODE"].ToString() + " ";
- newDrUnit[dr["MAT_CODE"].ToString()] = dr["MAT_UNIT"].ToString();
- }
- if (row.IndexOf(dr["SAMPLE_NO"].ToString()) < 0)//判断是否有重复样管号,有则不增加行只增加对应的列
- {
- row += dr["SAMPLE_NO"].ToString() + " ";
- newDr = dataTable1.NewRow();
- newDr["SAMPLE_NO"] = dr["SAMPLE_NO"].ToString();
- if (dataTable1.Columns.Contains(dr["MAT_CODE"].ToString().ToUpper()))
- {
- newDr[dr["MAT_CODE"].ToString()] = dr["MAT_VALUE"].ToString();
- }
- dataTable1.Rows.Add(newDr);
- }
- else
- {
- if (dataTable1.Columns.Contains(dr["MAT_CODE"].ToString().ToUpper()))
- {
- newDr[dr["MAT_CODE"].ToString()] = dr["MAT_VALUE"].ToString();
- }
- }
- }
- dataTable1.Rows.InsertAt(newDrUnit, 0);
- if (ultraGrid1.Rows.Count > 0)
- {
- ultraGrid1.Rows[0].Activation = Activation.ActivateOnly;//第一行单位不可编辑
- }
- //GridHelper.RefreshAndAutoSize(ultraGrid1);//刷新Grid
- ultraGrid1.DataBind();//dataTable发生变化提交给ultraGrid
- RefreshAutoSize();
- }
- private void ultraGrid1_CellChange(object sender, CellEventArgs e)
- {
- //ultraGrid1.Update();
- //ultraGrid1.UpdateData();
- //if (e.Cell.Text.Trim() == "" || e.Cell.Column.Key != "SAMPLE_NO")
- //{
- // return;
- //}
- //if (ultraGrid1.DisplayLayout.Bands[0].Columns.Exists("SAMPLE_NO"))
- //{
- // foreach (UltraGridRow ur in ultraGrid1.Rows)
- // {
- // if (ur != e.Cell.Row && ur.Cells["SAMPLE_NO"].Text.Trim() == e.Cell.Text.Trim())
- // {
- // MessageUtil.ShowWarning("存在相同的试样号请重新输入!");
- // e.Cell.Value = "";
- // return;
- // }
- // }
- //}
- }
- }
- }
|