如何在自定义数据源组件中限制用户的更改
上一篇我们讲到了如何开发一个自定义的数据源组件,期间提到了一个疑问:
如何避免用户去修改我们设计好的输出,以及列的属性呢?
其实方法也比较简单,我们添加下面的代码即可
1: public override void DeleteOutput(int outputID)
2: {
3: throw new Exception("不能删除输出");
4: }
5:
6: public override IDTSOutput90 InsertOutput(DTSInsertPlacement insertPlacement,
7: int outputID)
8: {
9: throw new Exception("不能插入输出");
10: }
11:
12: public override void DeleteOutputColumn(int outputID, int outputColumnID)
13: {
14: throw new Exception("不能删除列");
15: }
16:
17: public override IDTSOutputColumn90 InsertOutputColumnAt(int outputID,
18: int outputColumnIndex, string name, string description)
19: {
20: throw new Exception("不能增加列");
21: }
22: public override IDTSCustomProperty90 SetOutputColumnProperty(int outputID,
23: int outputColumnID, string propertyName, object propertyValue)
24: {
25: throw new Exception("不能修改列的属性");
26: }
也就是是重写有关的方法,当用户尝试增加,或者删除,或者修改的时候,抛出相应的异常。这个我们一般称为“设计时支持”
测试结果如下