程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> 關於C語言 >> C#進行Visio二次開發之圖紙設備信息的保存(1)

C#進行Visio二次開發之圖紙設備信息的保存(1)

編輯:關於C語言

在Visio的二次開發中,當發布圖紙的時候,我們往往需要保存圖紙和圖紙的設備信息到數據庫,圖紙是將文件以二進制保存到數據庫中,設備信息是保存圖紙對應的Shape的各種自定義屬性。本文主要介紹如何保存圖紙背後的設備信息。

這裡圖紙的設備信息可以通過一個設備表如Device1來放置同一類型的設備信息,如負荷開關存放在Device1,架空線放在Device2等等,Device(n)是我們詳細放置某種類型設備的表,其結構如下

另外主要我們再新建一個表來管理那種類型的設備對應那個表即可。如下圖所示:

一旦建立了上表的關系,我們就知道那個類型的設備對應的表名是多少了。我們通過代碼

List<DeviceTableInfo> deviceTables = deviceTableDAL.GetDeviceTables();

就可以獲取到所有的設備類型表的信息了,這可以為我們下一步保存設備信息做准備。

為了獲取到某個設備類型對應的表信息,我們可以這樣拿到它的對應信息。

string deviceType = VisioUtility.GetShapeCellValue(shape, "設備類型");

DeviceTableInfo tableInfo = deviceTableDAL.GetTableNameByDevice(deviceTables, deviceType);

我們知道,圖紙有很多信息,我們遍歷圖紙設備的時候,可以通過遍歷其選區實現,如下所示

if (VisioUtility.HasShapeInWindow(visWindow))
{
visWindow.SelectAll();
foreach (Visio.Shape shape in visWindow.Selection)
{
}
visWindow.DeselectAll();
}
  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved