これを機能させるには、最小限の配管を行う必要があります。グリッドビューのサンプルを次に示します。リピーター向けにもテクニックを適応させることができます。
DataSource オブジェクト クラス:
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>
注: ここにデータテーブルを追加しました。グリッドビューは、すぐに使用できる並べ替えに関してのみそのオブジェクトを理解するためです。したがって、余分なコードを記述する必要はありません。それ以外の場合は、任意のIEnumerable
オブジェクトを使用します。ただし、ソート用に独自のロジックを作成する必要があります。リピーターとは関係ありませんが、これは言及しておこうと思いました。
今、あなたは何も呼び出す必要はありませんDataBind()
!!!
PS: エンティティのコードを記述したら、まずプロジェクトをビルドします。ObjectDataSource
この後、ページにコントロールを追加するためにデザイナーに頼ることができます。ウィザードはプロジェクト内のサポート可能なオブジェクトを自動的に検出しますが、最初にソリューションをビルドする必要があります。