哪些对象可以作为数据控件的数据源

 我来答
娱乐小八卦啊a
高粉答主

2020-05-07 · 娱乐小八卦,天天都知道
娱乐小八卦啊a
采纳数:256 获赞数:117860

向TA提问 私信TA
展开全部

经常使用的对象:DataSet,DataTable,DataView,这些都没有问题,它们均实现了接口:IListSource或IEnumerable,而且微软已经为我们做了很好的封装,在使用时基本上不用考虑太多,甚至不需要知道它们分别实现了什么接口。

使用 DataSource 属性指定要绑定到数据列表控件的值的源。

数据源必须是实现 System.Collections.IEnumerable 接口(例如 System.Data.DataView、System.Collections.ArrayList 或 System.Collections.Hashtable)或 IListSource 接口的对象,才能绑定到从 BaseDataList 类派生的控件。

在设置 DataSource 属性时,必须手动编写代码才能执行数据绑定。

如果由 DataSource 属性指定的数据源包含多个数据的源,请使用 DataMember 属性指定要绑定到该控件的特定的源。例如,如果有包含多个表的 System.Data.DataSet 对象,必须指定要绑定到控件的表。指定了数据源后,使用 DataBind 方法将数据源绑定到控件。

扩展资料

数据源控件的功能

1、无需编写任何代码,即可向 ASP.NET 网页添加数据选择和更新。

2、使用一致的模型将服务器控件绑定到数据源,而不管基础数据采用何种形式。例如,通过使用不同的数据源控件,可以提供对 SQL Server、Microsoft Access。

XML 文件或中间层业务对象的数据访问。您可以使用相同的属性设置将控件(如 GridView 或 ListBox 控件)绑定到这些完全不同的数据源,而无需了解数据源控件最终是如何与基础数据进行交互的。

3、执行方法以获取和更新数据。您可以将参数传递给方法,参数可以自动从控件属性、查询字符串、会话状态或其他位置提取其参数值。

4、使用属性设置以确定数据源控件是否支持更新、插入、排序等功能。

光点科技
2023-08-15 广告
通常情况下,我们会按照结构模型把系统产生的数据分为三种类型:结构化数据、半结构化数据和非结构化数据。结构化数据,即行数据,是存储在数据库里,可以用二维表结构来逻辑表达实现的数据。最常见的就是数字数据和文本数据,它们可以某种标准格式存在于文件... 点击进入详情页
本回答由光点科技提供
手机用户04941
推荐于2016-08-18 · 超过54用户采纳过TA的回答
知道答主
回答量:101
采纳率:0%
帮助的人:125万
展开全部
接口的对象,才能绑定到从
BaseDataList
类派生的控件。在设置DataSource属性时,必须手动编写代码才能执行数据绑定。
如果由DataSource属性指定的数据源包含多个数据的源,请使用DataMember属性指定要绑定到该控件的特定的源。例如,如果有包含多个表的
System.Data.DataSet
对象,必须指定要绑定到控件的表。指定了数据源后,使用DataBind方法将数据源绑定到控件。
问题就在于如果我们使用泛型List的时候呢?它也是实现了IEnumerable接口,但是大家会想到,List中放置任何对象都可以作为数据源吗?我们来看下面的代码:
class Student{public Student(string n, string s){name = n;sex = s;}public string name;
List<Student list = new List<Student();
list.Add(new Student("河北","1"));
list.Add(new Student(北京", "2"));
gridview1.DataSource = list;
gridview1.DataBind();
执行时会得到如下错误信息:
ID 为gridview1的 GridView 的数据源没有任何可用来生成列的属性或特性。请确保您的数据源有内容。
我们将类定义代码修改如下:
class Student{public Student(string n, string s){name = n;sex = s;}private string name;
public string Name{get { return name; }
set { name = value; }}private string sex;
public string Sex{get { return sex; }
set { sex = value; }}}再执行没有问题了。
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式