| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236 |
- using Core.StlMes.Client.Judge.Commons;
- using CoreFS.CA06;
- using Infragistics.Win.UltraWinGrid;
- using System;
- using System.Collections.Generic;
- using System.Data;
- using System.Drawing;
- using System.Linq;
- namespace Core.StlMes.Client.Judge.Forms
- {
- public partial class LotNoGroupInfoQueryFrm : FrmBase
- {
- private Dal _d;
- public LotNoGroupInfoQueryFrm(string lotNo, OpeBase ob)
- {
- InitializeComponent();
- _d = new Dal(ob);
- Query(lotNo);
- }
- protected override void OnLoad(EventArgs e)
- {
- base.OnLoad(e);
- //ultraGrid1.DisplayLayout.UseFixedHeaders = true;
- //ultraGrid1.DisplayLayout.Bands[0].Columns["lotNoGroup"].Header.Fixed = true;
- //ultraGrid1.DisplayLayout.Bands[0].Columns["judgeStoveNo"].Header.Fixed = true;
- //ultraGrid1.DisplayLayout.Override.FixedHeaderAppearance.BackColor = Color.LightYellow;
- //ultraGrid1.DisplayLayout.Override.FixedHeaderAppearance.ForeColor = Color.Blue;
- }
- private void Query(string lotNo)
- {
- DataTable dt = _d.GetTableByXmlId("JdgPlnZyRclM.queryLotNoGroupInfo", lotNo);
- //处理试样组
- var groupPhy = dt.AsEnumerable().GroupBy(a => new { phyNameMin = a["phyNameMax"].ToString(), craftSource = a["craftSource"].ToString() })
- .Select(a => new { phyNameMin = a.Key.phyNameMin, craftSource = a.Key.craftSource }).OrderByDescending(a => a.craftSource).ToArray();
- bool flag0 = false;
- bool flag1 = false;
- foreach (var groupRow in groupPhy)
- {
- //创建
- DataColumn dc = new DataColumn();
- dc.ColumnName = groupRow.phyNameMin + groupRow.craftSource;
- if (groupRow.craftSource == "1")
- {
- dc.Caption = groupRow.phyNameMin + "(首日检)";
- }
- else
- {
- dc.Caption = groupRow.phyNameMin;
- }
- dataTable1.Columns.Add(dc);
- //if (groupRow.craftSource == "1")
- //{
- // flag1 = true;
- // UltraGridColumn gridDc = new UltraGridColumn(dc.ColumnName);
- // gridDc.Header.Caption = dc.Caption;
- // gridDc.RowLayoutColumnInfo.ParentGroupIndex = flag1Index;
- // gridDc.RowLayoutColumnInfo.ParentGroupKey = "0";
- // gridDc.RowLayoutColumnInfo.OriginX = flag1Index;
- // gridDc.RowLayoutColumnInfo.OriginY = 0;
- // gridDc.RowLayoutColumnInfo.SpanX = 1;
- // gridDc.RowLayoutColumnInfo.SpanY = 1;
- // ultraGrid1.DisplayLayout.Bands[0].Columns.Add(gridDc);
- // flag1Index++;
- //}
- //else if (groupRow.craftSource == "0")
- //{
- // flag0 = true;
- // UltraGridColumn gridDc = new UltraGridColumn(dc.ColumnName);
- // gridDc.Header.Caption = dc.Caption;
- // gridDc.RowLayoutColumnInfo.ParentGroupIndex = flag0Index;
- // gridDc.RowLayoutColumnInfo.ParentGroupKey = "1";
- // gridDc.RowLayoutColumnInfo.OriginX = flag1Index;
- // gridDc.RowLayoutColumnInfo.OriginY = 0;
- // gridDc.RowLayoutColumnInfo.SpanX = 1;
- // gridDc.RowLayoutColumnInfo.SpanY = 1;
- // ultraGrid1.DisplayLayout.Bands[0].Columns.Add(gridDc);
- // flag0Index++;
- //}
- }
- //UltraGridGroup group1 = ultraGrid1.DisplayLayout.Bands[0].Groups.Add("1", "首日检");
- //group1.RowLayoutGroupInfo.OriginX = 2;
- //group1.RowLayoutGroupInfo.OriginY = 0;
- //group1.RowLayoutGroupInfo.PreferredLabelSize = new System.Drawing.Size(0, 54);
- //group1.RowLayoutGroupInfo.SpanX = flag1Index;
- //group1.RowLayoutGroupInfo.SpanY = 1;
- //UltraGridGroup group0 = ultraGrid1.DisplayLayout.Bands[0].Groups.Add("0", "生产样");
- //group0.RowLayoutGroupInfo.OriginX = 3;
- //group0.RowLayoutGroupInfo.OriginY = 0;
- //group0.RowLayoutGroupInfo.PreferredLabelSize = new System.Drawing.Size(0, 54);
- //group0.RowLayoutGroupInfo.SpanX = flag0Index;
- //group0.RowLayoutGroupInfo.SpanY = 1;
- //bool flag0 = false;
- //bool flag1 = false;
- //int flag0Index = 0;
- //int flag1Index = 0;
- //foreach (UltraGridColumn dc in ultraGrid1.DisplayLayout.Bands[0].Columns)
- //{
- // if (dc.Key.EndsWith("1"))
- // {
- // flag1 = true;
- // dc.RowLayoutColumnInfo.ParentGroupIndex = flag1Index;
- // dc.RowLayoutColumnInfo.ParentGroupKey = "NewGroup0";
- // dc.RowLayoutColumnInfo.OriginX = flag1Index;
- // dc.RowLayoutColumnInfo.OriginY = 0;
- // flag1Index++;
- // }
- // else if (dc.Key.EndsWith("0"))
- // {
- // flag0 = true;
- // dc.RowLayoutColumnInfo.ParentGroupIndex = flag0Index;
- // dc.RowLayoutColumnInfo.ParentGroupKey = "NewGroup1";
- // dc.RowLayoutColumnInfo.OriginX = flag0Index;
- // dc.RowLayoutColumnInfo.OriginY = 0;
- // flag0Index++;
- // }
- //}
- if (!flag1)
- {
- //ultraGrid1.DisplayLayout.Bands[0].Groups.Remove(ultraGrid1.DisplayLayout.Bands[0].Groups["NewGroup0"]);
- }
- if (!flag0)
- {
- //ultraGrid1.DisplayLayout.Bands[0].Groups.Remove(ultraGrid1.DisplayLayout.Bands[0].Groups["NewGroup1"]);
- }
- //ultraGrid1.DisplayLayout.UseFixedHeaders = true;
- //foreach (UltraGridColumn col in ultraGrid1.DisplayLayout.Bands[0].Columns)
- //{
- // if (col.Key == "lotNoGroup" || col.Key == "judgeStoveNo" || col.Key == "夹杂物1")
- // {
- // col.Header.Fixed = true;
- // }
- //}
- var groupData = dt.AsEnumerable().GroupBy(a => new { lotNo = a["lotNo"].ToString(), lotNoGroup = a["lotNoGroup"].ToString(), judgeStoveNo = a["judgeStoveNo"].ToString() })
- .Select(a => new { lotNo = a.Key.lotNo, judgeStoveNo = a.Key.judgeStoveNo, lotNoGroup = a.Key.lotNoGroup }).OrderBy(a => a.lotNoGroup, new MyCompare()).ThenBy(a => a.judgeStoveNo).ToArray();
- foreach (var groupRow in groupData)
- {
- DataRow dr = dataTable1.NewRow();
- dr["lotNo"] = groupRow.lotNo;
- dr["lotNoGroup"] = groupRow.lotNoGroup;
- dr["judgeStoveNo"] = groupRow.judgeStoveNo;
- DataRow[] drPhys = dt.Select("lotNoGroup = '" + groupRow.lotNoGroup + "' and judgeStoveNo = '" + groupRow.judgeStoveNo + "'");
- foreach (DataRow drPhy in drPhys)
- {
- dr[drPhy["phyNameMax"].ToString() + drPhy["craftSource"]] = "√";
- }
- dataTable1.Rows.Add(dr);
- }
- foreach (UltraGridColumn col in ultraGrid1.DisplayLayout.Bands[0].Columns)
- {
- if (col.Key == "lotNo")
- {
- col.Width = 50;
- }
- if (col.Key == "lotNoGroup")
- {
- col.Width = 60;
- }
- else if (col.Key == "judgeStoveNo")
- {
- col.Width = 50;
- }
- else
- {
- col.Width = 130;
- }
- col.CellActivation = Activation.ActivateOnly;
- }
- }
- private void ultraGrid1_InitializeLayout(object sender, InitializeLayoutEventArgs e)
- {
- e.Layout.UseFixedHeaders = true;
- e.Layout.Bands[0].Columns["lotNo"].Header.Fixed = true;
- e.Layout.Bands[0].Columns["lotNoGroup"].Header.Fixed = true;
- e.Layout.Bands[0].Columns["judgeStoveNo"].Header.Fixed = true;
- e.Layout.Override.FixedCellAppearance.BackColor = Color.LightYellow;
- e.Layout.Override.FixedHeaderIndicator = FixedHeaderIndicator.None;
- }
- private class SortEntity
- {
- public string CraftSource
- {
- get;
- set;
- }
- public string JudgeStoveNo
- {
- get;
- set;
- }
- }
- private class MyCompare : IComparer<string>
- {
- public int Compare(string x, string y)
- {
- if (x == y)
- {
- return 0;
- }
- else if (x == "A")
- {
- return -1;
- }
- else if (y == "A")
- {
- return 1;
- }
- else if (x == "" || y == "")
- {
- return 1;
- }
- else
- {
- int ix = int.Parse(x);
- int iy = int.Parse(y);
- return ix - iy;
- }
- }
- }
- }
- }
|