继续探讨Data Type。如果你创建过Data Type,你就会知道创建一个新的Data Type都需要指定一个Render control,这有点类似开始C#时用到的继承。

那么如何创建我们自己的Render control呢?

其实也很简单,将前一篇的demo略加改造就可以了

 public class ConnectionStringDataType : AbstractDataEditor
{
[DataEditorSetting("Connectionstring")]
public String ConnectionString { get; set; } [DataEditorSetting("Select statement")]
public string SelectStatement { get; set; } [DataEditorSetting("Text column")]
public string TextColumn { get; set; } [DataEditorSetting("Value column")]
public string ValueColumn { get; set; } private DropDownList control = new DropDownList(); public ConnectionStringDataType()
{
base.RenderControl = control;
control.Init += new EventHandler(control_Init);
base.DataEditorControl.OnSave += new AbstractDataEditorControl.SaveEventHandler(DataEditorControl_OnSave);
} void DataEditorControl_OnSave(EventArgs e)
{
base.Data.Value = control.SelectedValue;
} void control_Init(object sender, EventArgs e)
{
control.DataSource = Microsoft.ApplicationBlocks.Data.SqlHelper.ExecuteReader(ConnectionString, CommandType.Text, SelectStatement);
control.DataTextField = TextColumn;
control.DataValueField = ValueColumn;
control.DataBind();
control.Items.Insert(, new ListItem(String.Empty, String.Empty)); control.SelectedIndex = ; if (base.Data.Value != null)
control.SelectedValue = base.Data.Value.ToString();
} public override Guid Id
{
get { return new Guid("FEDBD0B7-F318-4F1A-8D37-97C3B7DCB5D8"); }
} public override string DataTypeName
{
get { return "Db driven dropdown"; }
}
}

[Umbraco] Data Type之Render control的更多相关文章

  1. [Umbraco] Data Type的扩展编程

    继续从上面的Data Types的自定义控件说起.前面用到了自定义控件的数据绑定,虽然这使得我们可以调用外部数据了,但这似乎还比较死板,如果再调用其他数据,还得再创建一个控件,那样的话就会出现类似的功 ...

  2. [Umbraco] Data Types介绍

    Data Types是在建立document type时需要用到的,系统自带了很多用于开发的类型,如常用的下拉列表dropdown, textbox, radiobox, checkbox以及上传,h ...

  3. PHP 笔记一(systax/variables/echo/print/Data Type)

    PHP stands for "Hypertext Preprocessor" ,it is a server scripting language. What Can PHP D ...

  4. Extended Data Type Properties [AX 2012]

    Extended Data Type Properties [AX 2012] This topic has not yet been rated - Rate this topic Updated: ...

  5. 1月21日 Reference Data Type 数据类型,算法基础说明,二分搜索算法。(课程内容)

    Reference Datat Types 引用参考数据类型 -> 组合数据类型 Array, Hash和程序员自定义的复合资料类型 组合数据的修改: 组合数据类型的变量,不是直接存值,而是存一 ...

  6. Link static data in sql source control

    You can link data that doesn't change very often to SQL Source Control. This lets you commit data ch ...

  7. JAVA 1.2(原生数据类型 Primitive Data Type)

    1. Java的数据类型分为2类 >> 原生数据类型(primitive data type) >> 引用数据类型(reference data type) 3. 常量和变量 ...

  8. salesforce 零基础开发入门学习(四)多表关联下的SOQL以及表字段Data type详解

    建立好的数据表在数据库中查看有很多方式,本人目前采用以下两种方式查看数据表. 1.采用schema Builder查看表结构以及多表之间的关联关系,可以登录后点击setup在左侧搜索框输入schema ...

  9. The conversion of a varchar data type to a datetime data type resulted in an out-of-range value

    刚刚有在程序中,传递一个空值至MS SQL Server数据库,这个值的数据类型为DATETIME执行时,它却发生了如标题提示的异常:The conversion of a varchar data ...

随机推荐

  1. Educational Codeforces Round 61 D 二分 + 线段树

    https://codeforces.com/contest/1132/problem/D 二分 + 线段树(弃用结构体型线段树) 题意 有n台电脑,只有一个充电器,每台电脑一开始有a[i]电量,每秒 ...

  2. 注意JDBC驱动的版本和JDK的版本是否匹配 JDBC连接Mariadb

    Java利用JDBC连接Mariadb的过程和MySQL基本一致. 但是需要注意JDBC驱动的版本和JDK的版本是否匹配: JDBC和JDK版本对应关系 JDBC版本 JDK版本 2.x 1.8 1. ...

  3. linux命令详解之useradd命令使用方法[linux下 添加用户、删除用户、修改用户密码、用户组管理]

    http://www.jb51.net/article/45848.htm Linux 系统是一个多用户多任务的分时操作系统,任何一个要使用系统资源的用户,都必须首先向系统管理员申请一个账号,然后以这 ...

  4. SpringBoot2.0.2 Application调用的三种方式

    一.注解 @SpringBootApplication            点开查看源码是由多个注解合成的注解,其中主要的注解有:            @SpringBootConfigurati ...

  5. Arria10中的OCT功能

    OCT是什么? 串行(RS)和并行(RT) OCT 提供了 I/O 阻抗匹配和匹配性能.OCT 维持信号质量,节省电路板空 间,并降低外部组件成本. Arria 10 器件支持所有 FPGA 和 HP ...

  6. JSTL安装与使用

    第一步:下载支持JSTL的文件.jakarta-taglibs-standard-1.1.2.zip 第二步:下载解压后的两个jar文件:standard.jar和jstl.jar文件拷贝到工程的\W ...

  7. C#时间操作总结

    命名空间:System.Diagnostics Stopwatch 实例可以测量一个时间间隔的运行时间,也可以测量多个时间间隔的总运行时间.在典型的 Stopwatch 方案中,先调用 Start 方 ...

  8. VC6.0编译器设置

    主要通过VC的菜单项Project->Settings->C/C++页来完成.我们可以看到这一页的最下面Project Options中的内容,一般如下:/nologo /MDd /W3 ...

  9. 20171126--handlerThread

    1.首先看下handlerThread和普通的线程Thread的使用区别: HandlerThread本质上就是一个普通Thread,只不过内部建立了Looper. 为线程创建Looper的方法如下: ...

  10. shell中十种实现自加的方法

    shell中十种实现自加的方法 let "n = $n + 1" : $((n = $n + )) ((n = n+)) n=$(($n + )) : $[ n = $n + ] ...