如果一个模板上同一个字段需要弹出不同的选择列表,可以通过命令代码来实现,提供一个参考的方案:
- Imports SpreadsheetGear
- Imports C1.Silverlight
- Imports C1.Silverlight.C1MessageBoxButton
- Imports C1.Silverlight.C1MessageBoxIcon
- Imports Newtonsoft.Json
- Imports Newtonsoft.Json.Linq
- Imports Microsoft.VisualBasic
- Imports System.IO
- Imports System.Text
- Imports System.Net
- Imports System.Windows.forms
- Namespace ExcelViewVBDotnet
- Public Class StandardInterface
- '预留位置1
- '预留位置2
- Dim EV As SpreadsheetGear.Windows.Controls.WorkbookView, AW As SpreadsheetGear.IWorkbook, Range As SpreadsheetGear.IRange
- Public Sub Workbook_Open(OldRoot As Object, NewRoot As Object, Excel As SpreadsheetGear.Windows.Controls.WorkbookView)
- EV = Excel
- Excel.GetLock()
- AW = Excel.ActiveWorkbook
- Range = AW.ActiveWorksheet.Range
- Excel.ReleaseLock()
- AddHandler EV.PreviewMouseLeftButtonDown, AddressOf ExcelView_PreviewMouseLeftButtonDown
- End Sub'打开时执行事件
- Public Sub RangeSelection(sender As Object, e As SpreadsheetGear.Windows.Controls.RangeSelectionChangedEventArgs)
- End Sub'单元格选择后执行的事件
- Public Sub RangeChanged(sender As Object, e As SpreadsheetGear.Windows.Controls.RangeChangedEventArgs)
- End Sub'单元格编辑完成后执行事件
- Public Sub ButtunClick(sender As Object, e As SpreadsheetGear.Windows.Controls.ShapeActionEventArgs)
- End Sub'按钮/标签点击事件
- Public Sub FollowHyperlink(sender As Object)
- End Sub '暂不支持
- Private Sub ExcelView_PreviewMouseLeftButtonDown(sender As Object, e As System.Windows.Input.MouseButtonEventArgs)
- If e.ClickCount = 2 Then
- ActiveWorkbook.WorkbookSet.GetLock()
- '获取选择的单元格
- Dim selectedRange As SpreadsheetGear.IRange = EV.RangeSelection
- '判断选择的单元格区域
- If selectedRange IsNot Nothing Then
- If selectedRange.Intersect(Range("F_740")) IsNot Nothing Then
-
- If Range("F_839").Text = "委外加工单" Then
- App.KBFormula(3, "委外列表")
- Else
- App.KBFormula(3, "货品列表")
- End If
- e.Handled = True
- End If
-
- End If
-
- AW.WorkbookSet.ReleaseLock()
- End If
- End Sub
- End Class
- ' 注:除事件字眼下可以自定义代码外的所有代码不允许改动,否则编译将有可能失败。
- End Namespace
复制代码
|
|
hessen