你需要做一些最小的管道工作来完成这项工作。这里是一个gridview的示例。你也可以使用中继器的技术。
数据源对象类:
public class MyObjectDataSourceEntity
{
[DataObjectMethod(DataObjectMethodType.Select)]
public DataTable GetSomeRecords()
{
DataTable names = new DataTable();
DataColumn FirstName = names.Columns.Add();
FirstName.DataType = typeof(string);
FirstName.ColumnName = "FirstName";
DataColumn LastName = names.Columns.Add();
LastName.DataType = typeof(string);
LastName.ColumnName = "LastName";
DataRow row = names.NewRow();
row[0] = "Arun";
row[1] = "Jayapal";
names.Rows.Add(row);
row = names.NewRow();
row[0] = "Namith";
row[1] = "Chandran";
names.Rows.Add(row);
return names;
}
您需要包括System.ComponentModel
命名空间。
标记:
<asp:GridView ID="GridView1" runat="server" AllowSorting="True"
DataSourceID="ObjectDataSource1">
</asp:GridView>
<asp:ObjectDataSource ID="ObjectDataSource1" runat="server"
SelectMethod="GetSomeRecords"
TypeName="ObjectDataSourceDemo.MyObjectDataSourceEntity">
</asp:ObjectDataSource>
注:我这里补充一个数据表,因为在GridView才明白该对象,当谈到排序权外的即装即用。所以你不必编写额外的代码。否则,您使用任何IEnumerable
对象。但是你必须编写自己的排序逻辑。与中继器无关,但我想我会提到这一点。
现在你不需要在任何东西上拨打DataBind()
! PS:一旦你为你的实体编写代码,首先建立你的项目。之后,您可以依靠您的设计师将ObjectDataSource
控件添加到页面上。该向导会自动检测项目中的可支持对象,但您需要先构建解决方案。
你已经标记了objectdatasource ...所以我假设你找到了答案...查找msdn。应该给你一些指示灯 – deostroll 2012-05-05 04:46:25
我还没有,我为此暂时添加了代码。 – Andrey 2012-05-05 19:45:05