首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> C語言 >> 關於C語言

C# Visio 二次開發:下拉清單管理與動態更新

     編輯:關於C語言

動態更新下拉清單值

選取裝置時 (SelectionChanged 事件) 即時更新 Shape 下拉屬性:


if (VisWindow.Selection.Count > 0) {
    Shape sel = VisWindow.Selection[1]; // 取第一個選取項
    DropdownBLL.UpdateDropdownListValue(sel);
}

UpdateDropdownListValue 核心邏輯


public void UpdateDropdownListValue(Shape target) {
    List props = PropertyVol.GetPropertyCollection(target);
    foreach (var prop in props) {
        if (prop.PropType == PropType.visPropTypeListVar) {
            string val = DropdownDAL.GetDrpFieldValue(prop.DeviceName, prop.Name);
            if (!string.IsNullOrEmpty(val))
                target.get_CellsU($"Prop.{prop.Name}.Format").FormulaU = VisioUtility.StringToFormulaForString(val);
        }
    }
}
  • 遍歷 Shape 所有屬性,篩選可變清單類型 (visPropTypeListVar)
  • 從資料層 (DAL) 依裝置名稱與屬性名稱查詢最新清單字串
  • 透過 CellsU(...).FormulaU 寫入公式,格式化為 Visio 可識別的清單語法
  • 未修改圖面檔案,僅更新記憶體中 Shape 屬性,效能佳

效果展示

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved