using System; using System.Collections.Generic; using System.ComponentModel; using System.Drawing; using System.Data; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Windows.Forms; using System.Data.SqlClient; using SystemX.Product.TRA.DataManager; using static SystemX.Product.CP.TRA.MainForm; using DevExpress.Utils; using DevExpress.XtraGrid.Views.Grid; using DevExpress.XtraGrid.Views.Grid.ViewInfo; using DevExpress.XtraPrinting; using SystemX.Product.ALIS.Interface; using static SystemX.Product.CP.TRA.Commons; namespace SystemX.Product.TRA.UIControl { public partial class UcTRAProdHistHost : UcTRABaseView { public enum eColHide { TestListNo, //TestID, LogNo, LogCount, AccessStart, AccessEnd, TestlistFile } DMTestHistory DataManager { get; set; } TestHistorySearchOption Option { get; set; } SelectedDataCollection SelectedData { get; set; } public DataTable DataResult { get; private set; } public delegate void evtDataDetailViewHandler(DetailTestDataCollection data); public event evtDataDetailViewHandler OnDetailSelect; private string GridViewGetActiveFilterText; public UcTRAProdHistHost() { ContentsType = eContents.ProductHistory; InitializeComponent(); } public void SetSQLConnection(eSelectDataView SelectView, IDataBaseController getDBController) { DataManager = new DMTestHistory(SelectView, getDBController); } public void ViewData(SelectedDataCollection data) { if (data == null) return; SelectedData = data; DataTable dtResult = DataManager.SearchTestHistory(data, Option); GridViewGetActiveFilterText = gridViewMain.ActiveFilterString; DataResult = dtResult; gridControlMain.BeginInit(); gridControlMain.DataSource = dtResult; gridControlMain.Update(); gridControlMain.RefreshDataSource(); gridControlMain.ForceInitialize(); gridViewMain.PopulateColumns(dtResult); foreach (string strColName in Enum.GetNames(typeof(eColHide))) gridViewMain.Columns[strColName].Visible = false; gridControlMain.EndInit(); gridViewMain.ActiveFilterString = GridViewGetActiveFilterText; } public DetailTestDataCollection GetSearchInfo(DataRow dtRow) { DetailTestDataCollection drDetail = new DetailTestDataCollection(); //drDetail.TestID = dtRow[DMTestHistory.eColList.TestID.ToString()].ToString(); drDetail.StartTime = DateTime.Parse(dtRow[DMTestHistory.eColList.TestDateTime.ToString()].ToString()); string strGetLogNo = dtRow[DMTestHistory.eColList.LogNo.ToString()].ToString(); if (strGetLogNo.Length > 0) drDetail.LogNo = Convert.ToUInt64(dtRow[DMTestHistory.eColList.LogNo.ToString()]); else drDetail.LogNo = ulong.MinValue; drDetail.LogCount = Convert.ToInt32(dtRow[DMTestHistory.eColList.LogCount.ToString()]); drDetail.AccessStart = Convert.ToUInt64(dtRow[DMTestHistory.eColList.AccessStart.ToString()]); drDetail.AccessEnd = Convert.ToUInt64(dtRow[DMTestHistory.eColList.AccessEnd.ToString()]); drDetail.Duration = Convert.ToInt64(dtRow[DMTestHistory.eColList.Duration.ToString()]); drDetail.StationName = dtRow[DMTestHistory.eColList.StationName.ToString()].ToString(); drDetail.HostID = dtRow[DMTestHistory.eColList.Host.ToString()].ToString(); drDetail.SectionID = dtRow[DMTestHistory.eColList.Section.ToString()].ToString(); drDetail.TestType = dtRow[DMTestHistory.eColList.TestType.ToString()].ToString(); drDetail.ProductID = dtRow[DMTestHistory.eColList.ProductID.ToString()].ToString(); drDetail.ProductNo = dtRow[DMTestHistory.eColList.ProductNo.ToString()].ToString(); drDetail.TestCode = dtRow[DMTestHistory.eColList.TestCode.ToString()].ToString(); drDetail.ParentNo = dtRow[DMTestHistory.eColList.ParentNo.ToString()].ToString(); drDetail.FileCode = dtRow[DMTestHistory.eColList.FileCode.ToString()].ToString(); drDetail.FileVersion = dtRow[DMTestHistory.eColList.FileVersion.ToString()].ToString(); drDetail.TestlistFileName = dtRow[DMTestHistory.eColList.TestlistFileName.ToString()].ToString(); drDetail.TestListFileNo = dtRow[DMTestHistory.eColList.TestListFileNo.ToString()].ToString(); drDetail.TestListVariantNo = dtRow[DMTestHistory.eColList.TestListVariantNo.ToString()].ToString(); drDetail.StepVersion = dtRow[DMTestHistory.eColList.StepVersion.ToString()].ToString(); drDetail.TestRequestID = dtRow[DMTestHistory.eColList.TestlistReqID.ToString()].ToString(); drDetail.TestResult = dtRow[DMTestHistory.eColList.TestResult.ToString()].ToString(); return drDetail; } private void UcTRATestHistHost_Load(object sender, EventArgs e) { Option = new TestHistorySearchOption(); FrmOptionStationSearch dlgSearch = new FrmOptionStationSearch(); dlgSearch.ShowDialog(); if (dlgSearch.DialogResult == DialogResult.OK) Option = dlgSearch.GetSelectedResult(); } private void gridViewMain_DoubleClick(object sender, EventArgs e) { DXMouseEventArgs ea = e as DXMouseEventArgs; GridView view = sender as GridView; GridHitInfo info = view.CalcHitInfo(ea.Location); if (info.InRow || info.InRowCell) { int nRow = int.MinValue; nRow = info.RowHandle; if (nRow < 0) return; var dvRow = view.GetRow(nRow); DataRow dtRow = (dvRow as DataRowView).Row; DetailTestDataCollection drDetail = GetSearchInfo(dtRow); OnDetailSelect(drDetail); } } public List GetResultContents() { List vDetailData = new List(); GridView view = gridViewMain as GridView; for(int i=0; i