/// <summary> /// 初始化表格控件绑定,刚打开时显示 /// </summary> public override void InitGridListBind(bool Visible) { dgvHeader.SetMangerDataBaseAColHeader(this.gridList, Visible); List <CrudeIndexIDAEntity> oilInfo = new OilInfoACrudeIndexIDAccess().Get(this._sqlWhere); //绑定数据 for (int i = 0; i < oilInfo.Count; i++) { string sampleDate = oilInfo[i].sampleDate == null ? string.Empty : oilInfo[i].sampleDate.Value.ToString(dateFormat); string receiveDate = oilInfo[i].receiveDate == null ? string.Empty : oilInfo[i].receiveDate.Value.ToString(dateFormat); string assayDate = string.Empty; if (oilInfo[i].assayDate != string.Empty) { var assayDateTime = oilDataCheck.GetDate(oilInfo[i].assayDate); assayDate = assayDateTime == null ? string.Empty : assayDateTime.Value.ToString(dateFormat); } string updataDate = string.Empty; if (oilInfo[i].updataDate != string.Empty) { var updataDateTime = oilDataCheck.GetDate(oilInfo[i].updataDate); updataDate = updataDateTime == null ? string.Empty : updataDateTime.Value.ToString(LongDateFormat); } this.gridList.Rows.Add(false, i, oilInfo[i].ID, 0, oilInfo[i].crudeName, oilInfo[i].englishName, oilInfo[i].crudeIndex, oilInfo[i].country, oilInfo[i].region, oilInfo[i].fieldBlock, sampleDate, receiveDate, oilInfo[i].sampleSite, assayDate, updataDate, oilInfo[i].sourceRef, oilInfo[i].assayLab, oilInfo[i].assayer, oilInfo[i].reportIndex, oilInfo[i].type, oilInfo[i].classification, oilInfo[i].sulfurLevel, oilInfo[i].acidLevel, oilInfo[i].corrosionLevel, oilInfo[i].processingIndex); } if (this.gridList.SortedColumn != null) { DataGridViewColumn sortColumn = this.gridList.SortedColumn; if (sortColumn.HeaderCell.SortGlyphDirection == SortOrder.Ascending) { this.gridList.Sort(this.gridList.SortedColumn, ListSortDirection.Ascending); } else if (sortColumn.HeaderCell.SortGlyphDirection == SortOrder.Descending) { this.gridList.Sort(this.gridList.SortedColumn, ListSortDirection.Descending); } } //lbResult.Text = "共有" + oilInfo.Count.ToString() + "条信息满足条件。"; }
/// <summary> /// 显示列表 /// </summary> /// <param name="showListView"></param> /// <param name="Dic"></param> public override void InitSimilarList(ListView showListView, IDictionary <string, double> Dic) { if (Dic == null) { return; } if (Dic.Count <= 0) { return; } #region "建立simListView" ListView simListView = new ListView(); ColumnHeader columnHeader1 = new ColumnHeader(); ColumnHeader columnHeader2 = new ColumnHeader(); ColumnHeader columnHeader3 = new ColumnHeader(); simListView.Columns.AddRange(new System.Windows.Forms.ColumnHeader[] { columnHeader1, columnHeader2, columnHeader3 }); #region "查询条件" foreach (var item in this._similarSearchList) { string strTableName = item.FracitonName; string strItemName = item.ItemName; if (strTableName.Equals("原油信息") && (strItemName.Equals("原油编号") || strItemName.Equals("原油名称"))) { continue; } ListViewItem listViewItem = new ListViewItem(); for (int j = 0; j < simListView.Columns.Count; j++) { ListViewItem.ListViewSubItem temp = new ListViewItem.ListViewSubItem(); temp.Name = simListView.Columns[j].Name; listViewItem.SubItems.Add(temp); } listViewItem.SubItems[0].Text = item.FracitonName; listViewItem.SubItems[1].Text = ":"; listViewItem.SubItems[2].Text = item.ItemName; listViewItem.SubItems[0].Tag = item.OilTableColID; listViewItem.SubItems[2].Tag = item.OilTableRowID; simListView.Items.Add(listViewItem); } #endregion #region "显示条件" if (showListView != null) { foreach (ListViewItem item in showListView.Items) { string strTableName = item.SubItems[0].Text; string strItemName = item.SubItems[2].Text; if (strTableName.Equals("原油信息") && (strItemName.Equals("原油编号") || strItemName.Equals("原油名称"))) { continue; } bool haveItem = false; foreach (ListViewItem simItem in simListView.Items) { if (item.SubItems[0].Text == simItem.SubItems[0].Text && item.SubItems[2].Text == simItem.SubItems[2].Text) { haveItem = true; } } if (!haveItem) { ListViewItem listViewItem = new ListViewItem(); for (int j = 0; j < simListView.Columns.Count; j++) { ListViewItem.ListViewSubItem temp = new ListViewItem.ListViewSubItem(); temp.Name = simListView.Columns[j].Name; listViewItem.SubItems.Add(temp); } listViewItem.SubItems[0].Text = item.SubItems[0].Text; listViewItem.SubItems[1].Text = ":"; listViewItem.SubItems[2].Text = item.SubItems[2].Text; listViewItem.SubItems[0].Tag = item.SubItems[0].Tag; listViewItem.SubItems[2].Tag = item.SubItems[2].Tag; simListView.Items.Add(listViewItem); } } } #endregion #endregion #region "添加列" this.gridList.Columns.Clear(); this.gridList.Rows.Clear(); this.gridList.Columns.Add(new DataGridViewTextBoxColumn() { Name = "ID", HeaderText = "ID", AutoSizeMode = DataGridViewAutoSizeColumnMode.AllCells, Visible = false }); this.gridList.Columns.Add(new DataGridViewTextBoxColumn() { Name = "相似度总和", HeaderText = "相似度总和", AutoSizeMode = DataGridViewAutoSizeColumnMode.AllCells }); this.gridList.Columns.Add(new DataGridViewTextBoxColumn() { Name = "原油编号", HeaderText = "原油编号", AutoSizeMode = DataGridViewAutoSizeColumnMode.AllCells }); this.gridList.Columns.Add(new DataGridViewTextBoxColumn() { Name = "原油名称", HeaderText = "原油名称", AutoSizeMode = DataGridViewAutoSizeColumnMode.AllCells }); foreach (ListViewItem item in simListView.Items) { string strTableName = item.SubItems[0].Text; string strItemName = item.SubItems[2].Text; this.gridList.Columns.Add(new DataGridViewTextBoxColumn() { Name = strTableName, HeaderText = strTableName + ":" + strItemName, AutoSizeMode = DataGridViewAutoSizeColumnMode.AllCells }); } #endregion foreach (string key in Dic.Keys) { CrudeIndexIDAEntity crudeIndexIDAEntity = new OilInfoACrudeIndexIDAccess().Get("crudeIndex = '" + key + "'").FirstOrDefault(); if (crudeIndexIDAEntity == null) { continue; } this._openOilCollection.Add(crudeIndexIDAEntity); object[] rowValue = null; List <object> tempList = new List <object>(); tempList.Add(crudeIndexIDAEntity.ID.ToString()); tempList.Add(Dic[key].ToString()); tempList.Add(crudeIndexIDAEntity.crudeIndex); tempList.Add(crudeIndexIDAEntity.crudeName); CrudeIndexIDBEntity crudeIndexIDBEntity = new OilInfoBCrudeIndexIDAccess().Get("crudeIndex = '" + key + "'").FirstOrDefault(); if (crudeIndexIDBEntity == null) { continue; } foreach (ListViewItem item in simListView.Items) { int oilDataSearchColID = Convert.ToInt32(item.SubItems[0].Tag.ToString()); int oilDataSearchRowID = Convert.ToInt32(item.SubItems[2].Tag.ToString()); OilDataSearchEntity dataSearchEntity = crudeIndexIDBEntity.OilDataSearchs.Where(o => o.oilTableColID == oilDataSearchColID && o.oilTableRowID == oilDataSearchRowID).FirstOrDefault(); if (dataSearchEntity == null) { tempList.Add(""); } else { tempList.Add(dataSearchEntity.calData); } } rowValue = tempList.ToArray(); this.gridList.Rows.Add(rowValue); } this.gridList.Sort(this.gridList.Columns["相似度总和"], ListSortDirection.Descending); }