using Autodesk.Revit.DB;
|
using Autodesk.Revit.UI;
|
using HStation.RevitDev.RevitDataExport.Common;
|
using HStation.RevitDev.RevitDataExport.Entity;
|
using HStation.RevitDev.RevitDataExport.Utility;
|
using System;
|
using System.Collections.Generic;
|
using System.Windows.Forms;
|
|
namespace HStation.RevitDev.RevitDataExport.Forms
|
{
|
public partial class Form_SystemCheckResult : System.Windows.Forms.Form
|
{
|
bool m_isFirstTrigger = true;
|
Dictionary<CheckResultType, List<ElementId>> m_checkResult = new Dictionary<CheckResultType, List<ElementId>>();
|
UIApplication m_uiapp = null;
|
string m_id = string.Empty;
|
ExternalEvent_SelectElement m_selectElementEvent = new ExternalEvent_SelectElement();
|
ExternalEvent m_selectElementHandler = null;
|
|
public Form_SystemCheckResult(UIApplication uiapp, Dictionary<CheckResultType, List<ElementId>> result)
|
{
|
m_uiapp = uiapp;
|
m_checkResult = result;
|
m_selectElementHandler = ExternalEvent.Create(m_selectElementEvent);
|
InitializeComponent();
|
InitializeControls();
|
}
|
|
private void InitializeControls()
|
{
|
InitializeDataGridView();
|
|
}
|
|
private void InitializeDataGridView()
|
{
|
if (m_checkResult == null) { return; }
|
this.dgv_checkList.CellDoubleClick += DataGridView_CellDoubleClick;
|
|
InitializeDataGridViewColumns();
|
InitializeDataGridViewRows();
|
this.dgv_checkList.AutoGenerateColumns = false;
|
}
|
|
private void InitializeDataGridViewRows()
|
{
|
int i = 1;
|
foreach (var pair in m_checkResult)
|
{
|
var checkType = pair.Key;
|
foreach (var id in pair.Value)
|
{
|
int rowIndex = this.dgv_checkList.Rows.Add();
|
this.dgv_checkList.Rows[rowIndex].Cells["Index"].Value = i++;
|
this.dgv_checkList.Rows[rowIndex].Cells["ID"].Value = id.IntegerValue;
|
this.dgv_checkList.Rows[rowIndex].Cells["Describe"].Value = checkType.GetDescriptioin();
|
}
|
}
|
}
|
|
private void InitializeDataGridViewColumns()
|
{
|
DataGridViewTextBoxColumn column1 = new DataGridViewTextBoxColumn();
|
column1.Name = "Index";
|
column1.HeaderText = "序号";
|
|
DataGridViewTextBoxColumn column2 = new DataGridViewTextBoxColumn();
|
column2.Name = "ID";
|
column2.HeaderText = "编码";
|
|
DataGridViewTextBoxColumn column3 = new DataGridViewTextBoxColumn();
|
column3.Name = "Describe";
|
column3.HeaderText = "描述";
|
column3.AutoSizeMode = DataGridViewAutoSizeColumnMode.Fill;
|
|
this.dgv_checkList.Columns.Add(column1);
|
this.dgv_checkList.Columns.Add(column2);
|
this.dgv_checkList.Columns.Add(column3);
|
}
|
|
private void DataGridView_CellDoubleClick(object sender, DataGridViewCellEventArgs e)
|
{
|
var columnIndex = e.ColumnIndex;
|
var rowIndex = e.RowIndex;
|
DataGridView dataGridView = sender as DataGridView;
|
DataGridViewCell cell = dataGridView.Rows[rowIndex].Cells[columnIndex];
|
if (cell.OwningColumn.Name == "ID")
|
{
|
m_id = cell.Value.ToString();
|
ExternalEvent_SelectElement.m_id = m_id;
|
m_selectElementHandler.Raise();
|
}
|
}
|
|
private void Form_SystemCheckResult_Load(object sender, EventArgs e)
|
{
|
this.dgv_checkList.AutoGenerateColumns = false;
|
}
|
}
|
}
|