Ejemplo n.º 1
0
        /// <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() + "条信息满足条件。";
        }
Ejemplo n.º 2
0
        /// <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);
        }