如何在自定义数据源组件中限制用户的更改
上一篇我们讲到了如何开发一个自定义的数据源组件,期间提到了一个疑问:
如何避免用户去修改我们设计好的输出,以及列的属性呢?
其实方法也比较简单,我们添加下面的代码即可
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: }
也就是是重写有关的方法,当用户尝试增加,或者删除,或者修改的时候,抛出相应的异常。这个我们一般称为“设计时支持”
测试结果如下
本文版权归作者所有,可以转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。
更多博客文章,以及作者对于博客引用方面的完整声明以及合作方面的政策,请参考以下站点:陈希章的博客中心
如何在自定义数据源组件中限制用户的更改相关推荐
- 谷歌修复安卓蓝牙组件中无需用户交互的 bug
聚焦源代码安全,网罗国内外最新资讯! 编译:奇安信代码卫士团队 本周,谷歌修复了安卓蓝牙组件中的一个严重缺陷.如未被修复,则该漏洞可在无需用户交互的情况下遭利用,甚至可被用于自传播蓝牙蠕虫. 谷歌已经 ...
- 为SSIS编写自定义数据流组件(DataFlow Component)之进阶篇:自定义编辑器
我们之前几篇讨论过自定义数据流组件的一些技术,分别如下 入门篇 http://www.cnblogs.com/chenxizhang/archive/2009/06/20/1507467.html 数 ...
- 微信小程序 - 自定义组件中类似页面 onShow 的页面显示就触发的生命周期钩子函数(页面回退时更新数据常用, 例如回退页面更新子组件数据, 回退更新子组件中 data 内容)
前言 在微信小程序中,用户回退页面触发更新数据的操作,一般都是在 页面 onShow() 中写上执行更新的函数即可. 但如果咱们把数据和方法都写在了自定义子组件中,那么用户回退页面时, 更新数据就成了 ...
- 修改taro-ui的样式,在自定义组件中使用taro-ui,修改ui框架样式
其实修改ui框架的样式还是很容易碰见的,但是每个框架处理的方式可能还有点不太一样, taro编译出来的小程序样式. addGlobalClass 添加这个 只能让我们修改页面中的taro-ui 样式 ...
- 【转载】SQL Server 2008 中新建用户登录并指定该用户的数据库
提要:我在 SQL Server 中新建用户登录时,出现了三种错误,错误代码分别是 18456.15128.4064 -----------------------------------正 文 -- ...
- 小程序组件中的监听事件
小程序组件中的监听事件 需求: 微信小程序中,如果进行使用了component级的组件的话,在一些情况下,父组件中使页面中的数据进行变化,子组件中 的数据不会一起变化,由此可以使用该方法 方法: 使用 ...
- spring security默认登录页面登录用户,和自定义数据源
一.默认登录页面 请求 /hello 接口,在引入 spring security 之后会先经过一些列过滤器 在请求到达 FilterSecurityInterceptor时,发现请求并未认证.请求拦 ...
- apache spark_如何将自定义数据源集成到Apache Spark中
apache spark 如今,流数据是一个热门话题,而Apache Spark是出色的流框架. 在此博客文章中,我将向您展示如何将自定义数据源集成到Spark中. Spark Streaming使我 ...
- 如何将自定义数据源集成到Apache Spark中
如今,流数据是一个热门话题,而Apache Spark是出色的流框架. 在此博客文章中,我将向您展示如何将自定义数据源集成到Spark中. Spark Streaming使我们能够从各种来源进行流传输 ...
最新文章
- .NET弹出对话框小结
- 安全访问服务边缘(SASE)是什么?
- jsp中文件下载的实现
- 递归调用cl_crm_oi_docx_transform_rt=process_node_cc
- php如何使用遮罩,CSS绝对定位实现窗口遮罩功能:2019年1月15日作业
- javascript --- [express+ vue2.x + elementUI]登陆的流程梳理
- php如何判断是否关注,微信公众号判断用户是否已关注php代码解析
- 服务器重置密码后无法启动不了怎么办,Windows Server 2008 R2 忘记密码的处理方法...
- jQuery实现高亮显示网页关键词的方法
- SpringBoot-DDD领域驱动设计的概念
- android lint
- OEM JDM ODM OBM的区别
- AutoHotKey:Shift+ijkl实现方向键
- reporting services报表部署错误:运行配置文件中指定的扩展时出现异常。 ---> 超过了最大请求长度。
- OpenLayers加载天地图
- 问题解决:“nginx: [emerg] unknown directive “ “ in /etc/nginx/conf.d/XXX.conf:122”
- kinect深度距离误差_TOF相机深度矫正基于Kinect v2
- 【python实战】不玩微博,一封邮件就能知道实时热榜,天秀吃瓜
- 第4章 Linux下的C语言开发基础
- Vue组件库实现按需加载功能
热门文章
- MySQL的优化(大纲)
- IIS 之 HTTP错误 404.17 - Not Found(请求的内容似乎是脚本,因而将无法由静态文件处理程序来处理。)...
- NR 5G 网络功能之AMF
- JMJS系统总结系列----Jquery分页扩展库(五)
- nosql ( redis 跟 memcache )的区别
- Linux shell编程学习笔记-----第十四章
- 6、Hive的特殊分隔符处理
- linux的mtd架构分析【转】
- 组件的高可用性 High Availability
- linux下IO口模拟I2C的一些总结