13 - 如何通过视图访问imodel数据


可以通过视图view(由imodel视图创建工具生成,本质上是xml文件)快速遍历、查询imodel业务数据。

 

具体做法是:

首先调用LoadView()方法加载进view,

再通过IModelView对象得到view所包含的table,

最后通过table得到所需的数据行和列。

代码示例如下:

IModel imodel = IModel.Open(@"D:\test.i.dgn");
IModelView view = imodel.LoadView(@"D:\view.xml");

string strInfo = "";
List<string> tables = view.Tables;

for (int i = 0; i < tables.Count; i++)
{
strInfo += ("TableName = " + tables[i] + "\n");
DataTable table = view[tables[i]];

foreach (DataColumn c in table.Columns)
{
strInfo += (c.ColumnName + "\t\t");
}

strInfo += "\n";

foreach (DataRow r in table.Rows)
{
foreach (DataColumn c in table.Columns)
{
strInfo += (r[c.ColumnName] + "\t\t");
}
}

}

imodel.Close();
}