关于数据绑定的一个小小的总结:绑定数据到List类型的控件(RadioButtonList,ListBox等),双重绑定。
2008-08-21 00:30
661 查看
理论上讲应该适用于所有的List类型的控件,但是其它的没有测试过。
说明:
1、这里使用的是后期绑定,也就是说在控件上设置的绑定。
2、这里所说的“双重绑定”指的是对于List类型的控件,它的列表来自于一个DataTable/ArrayList/DataView,它的选定值绑定到另一个数据源的某个数据项上面,通常都是用在添加和编辑界面上。
3、默认情况下,vs2005的“属性”面板不显示DataSource这个属性(显示的是DataSourceId)。所以需要切换到“源”视图,手工录入。
4、特别需要注意的是,必须指定DataTextField和DataValueField,要不是就会出现“‘xxxx’有一个无效 SelectedValue,因为它不在项目列表中”这样的异常。其中'xxxx'为这里面所说的List类型控件的ID。
.aspx页面的代码:
<asp:RadioButtonList ID="RadioButtonList1" runat="server" SelectedValue='<%# Bind("P_verify") %>' DataSource='<%# VerifyDt %>' DataTextField="name" DataValueField="value">
</asp:RadioButtonList>
.cs页面的代码:
public DataView VerifyDt
2
补充一:
在一篇文章中看到关于静态项(所谓静态项就是常见的“请所下面选择一个一项目”)的内容,我觉得很有用,摘录如下:
(可选)包含在设计时定义的一个或多个静态项。若要用静态项和从数据源中生成的项填充列表控件,请将列表控件的 AppendDataBoundItems 属性设置为 true。下面的示例演示一个 DropDownList 控件,该控件包含一个名为“从列表中选择”的静态项,但该控件从数据库表填充。CompareValidator 控件绑定到 DropDownList 控件并配置为不允许用户选择该静态项。
<asp:DropDownList ID="DropDownList1" runat="server"
DataSourceID="SqlDataSource1"
DataTextField="CategoryName"
DataValueField="CategoryID"
AppendDataBoundItems="True" >
<asp:ListItem>
Select from list
</asp:ListItem>
</asp:DropDownList>
<asp:CompareValidator
ID="CompareValidator1"
runat="server"
ErrorMessage="Select an item!"
Operator="NotEqual"
ValueToCompare="Select from list"
ControlToValidate="DropDownList1">
Please select an item!
</asp:CompareValidator>
如何:从数据源填充 Web 服务器控件
作者:迭戈
http://blog.sina.com.cn/s/reader_4a8920f9010007du.html
说明:
1、这里使用的是后期绑定,也就是说在控件上设置的绑定。
2、这里所说的“双重绑定”指的是对于List类型的控件,它的列表来自于一个DataTable/ArrayList/DataView,它的选定值绑定到另一个数据源的某个数据项上面,通常都是用在添加和编辑界面上。
3、默认情况下,vs2005的“属性”面板不显示DataSource这个属性(显示的是DataSourceId)。所以需要切换到“源”视图,手工录入。
4、特别需要注意的是,必须指定DataTextField和DataValueField,要不是就会出现“‘xxxx’有一个无效 SelectedValue,因为它不在项目列表中”这样的异常。其中'xxxx'为这里面所说的List类型控件的ID。
.aspx页面的代码:
<asp:RadioButtonList ID="RadioButtonList1" runat="server" SelectedValue='<%# Bind("P_verify") %>' DataSource='<%# VerifyDt %>' DataTextField="name" DataValueField="value">
</asp:RadioButtonList>
.cs页面的代码:
public DataView VerifyDt
2
补充一:
在一篇文章中看到关于静态项(所谓静态项就是常见的“请所下面选择一个一项目”)的内容,我觉得很有用,摘录如下:
(可选)包含在设计时定义的一个或多个静态项。若要用静态项和从数据源中生成的项填充列表控件,请将列表控件的 AppendDataBoundItems 属性设置为 true。下面的示例演示一个 DropDownList 控件,该控件包含一个名为“从列表中选择”的静态项,但该控件从数据库表填充。CompareValidator 控件绑定到 DropDownList 控件并配置为不允许用户选择该静态项。
<asp:DropDownList ID="DropDownList1" runat="server"
DataSourceID="SqlDataSource1"
DataTextField="CategoryName"
DataValueField="CategoryID"
AppendDataBoundItems="True" >
<asp:ListItem>
Select from list
</asp:ListItem>
</asp:DropDownList>
<asp:CompareValidator
ID="CompareValidator1"
runat="server"
ErrorMessage="Select an item!"
Operator="NotEqual"
ValueToCompare="Select from list"
ControlToValidate="DropDownList1">
Please select an item!
</asp:CompareValidator>
如何:从数据源填充 Web 服务器控件
作者:迭戈
http://blog.sina.com.cn/s/reader_4a8920f9010007du.html
相关文章推荐
- 数据绑定技术_单值数据绑定示例;将 DataTable,DataSet,DataView,DataReader 绑定到 DataGrid 控件示例;DataBinder.Eval;数组的值赋给ListBox1;Hashtable 绑定到;RadioButtonList;将XML 文件做为数据源绑定到控件
- CheckBoxList和RadioButtonList控件的绑定
- 关于类型原型的思考(请不要在一个Map或List放入多种数据类型)
- RadioButtonList控件绑定数据时设定默认值
- .net关于控件绑定字段的数据类型
- 04、数据绑定控件 ListBox 的一个 Bug
- asp.net学习之 数据绑定控件--List数据绑定控件
- (DevExpress2011控件教程)ASPxTreeList 范例1 :如何绑定数据到ASPxTreeList
- 关于C语言数据类型选择的一个注意
- KeyValuePair<byte, string> 类型的数据如何绑定到ComboBox控件上
- ASP.NET常用数据绑定控件优劣总结
- 一个关于Java数据类型的有趣问题
- springMVC对简单对象,Set,List,Map的数据绑定及类型转换
- 【1】ptr = malloc(0*sizeof(char))【2】关于typedef的用法总结【3】关于有符号数、无符号数和数据类型的总结
- 浅谈ASP.NET常用数据绑定控件优劣总结
- 关于DateList一行绑定多个数据分页(二)aspx文件
- 数据传不到。BLL层,多个控件绑定了一个数据字段。
- 自定义控件(14)编写一个简单的数据绑定控件
- 关于在Share point 2010 中保存SPFieldLookupValue类型到一个List中的问题
- C# List,String Array 绑定到数据控件上