继续探讨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. ES6通过使用babel兼容到ie9

    1.打开这个地址: https://unpkg.com/babel-standalone@6/babel.min.js 新建babel.min.js,把代码复制进去,然后在jq项目里引用. 2.在下面 ...

  2. C# Bitmap长宽参数构造的图片对象的每个像素ARGB都是0

    var img = new Bitmap(100 , 100); for (int i = 0; i < img.Width; i++) {   for (int j = 0; j < i ...

  3. Tomcat服务器的安装和配置

    一.Tomcat下载 可以直接从Apache的网站上下载Tomcat(http://tomcat.apache.org/),进入首页后,在左边Download一栏可选择你要下载的版本,点击便可进入To ...

  4. OSI七层模型和TCP/IP四层模型

    1)网络层负责点到点的传输(这里的“点”指主机或路由器),而传输层负责端到端的传输(这里的“端”指应用进程) 2)ARP协议介于数据链路层和网络层之间(IPv4专有,IPv6的地址映射功能在ICMPv ...

  5. window下切换python

    自己的win10装了2.7和3.6版本的python.本不想装2.7的,但node.js的C++的编译居然用到2.X的python,没法子就装了2.7.那怎么切换呢? 为了方便使用,我在系统的path ...

  6. TypeError: 'MongoClient' object is not callable

    在声明数据库的时候,将中括号[ ]换成了圆括号() 错误:

  7. 【Andorid开发框架学习】之Mina开发之Mina简介

    今天我将介绍 Apache MINA的基本概念和 API,包括 I/O服务.I/O 会话.I/O 过滤器和 I/O 处理器. 一.MINA的简介 Apache MINA是一个网络应用程序框架,用来帮助 ...

  8. Hadoop-1.2.1伪分布下 hive-0.10.0内嵌模式安装

    Hadoop-1.2.1伪分布下 hive-0.10.0内嵌模式安装 1.下载hive-0.10.0 网址是:http://archive.apache.org/dist/hive/hive-0.10 ...

  9. POJ1644状态转移的思想——排列组合

    m个物品放n个盒子,盒子物品都相同,问你放的方法总数是多少 看着像个排列组合,算着算着就发现我排列组合都忘得差不多啦,哎,什么时候能打败遗忘呢 然后想用dp做,但是转移的方面没有想好 看了看题解感觉这 ...

  10. Python自动化开发 - Python操作MySQL

    本篇对于Python操作MySQL主要使用两种方式: 原生模块 pymsql ORM框架 SQLAchemy 一.pymysql pymsql是Python中操作MySQL的模块,其使用方法和mysq ...