【发布时间】:2012-02-09 15:57:19
【问题描述】:
我有 1000 条记录要显示在网格视图中,所以我使用 ObjectDataSource 来绑定到网格视图。
<asp:ObjectDataSource ID="odsProducts" runat="server" SelectMethod="GetProducts"
TypeName="ProductsList" EnablePaging="True" MaximumRowsParameterName="PageSize"
SelectCountMethod="GetRowsCount" StartRowIndexParameterName="StartRow"></asp:ObjectDataSource>
<asp:GridView ID="UserTable" runat="server" AllowPaging="True" DataSourceID="odsProducts"
SelectedIndex="0" DataKeyNames="UserID" ShowHeaderWhenEmpty="True" BorderStyle="Groove"
OnRowDataBound="UserTable_RowDataBound" AutoGenerateColumns="false">
在数据访问层中,我有一个 class[Dataserver],它执行打开和关闭连接,我有一个称为 executeNonQuery 方法的方法,用于从数据库中检索数据。
public int ExecuteNonQuery(CommandType commandType, string sql, MySqlParameter[] commandParameters)
{
...
return rowsAffected;
}
所以在我的 OjectdataSource 的 Getdata 方法中
private DataView GetData(int StartRow, int PageSize)
{
DataServer server = new DataServer();
DataTable dt = new DataTable();
int newOrgID = 60;
string userQuery = "Select tbl_User.UserID, tbl_User.FirstName, tbl_User.LastName, tbl_User.Email, tbl_User.PhoneNumber, tbl_User.CreatedBy, tbl_Organisation.OrganisationName from tbl_user WHERE Organisationid=@OrganisationID order by tbl_user.LastName asc";
MySqlParameter[] para = new MySqlParameter[1];
para[0] = new MySqlParameter("@OrganisationID", MySqlDbType.Int32);
para[0].Value = newOrgID ;
dt = server.ExecuteQuery(CommandType.Text, userQuery, para);
}
网络上的所有示例都带有存储过程,有人可以帮助我做到这一点。我在这里得到的错误是我无法绑定网格视图,无法将数据集转换为数据。那么如何使用数据表来绑定到gridview
【问题讨论】:
标签: c# asp.net data-binding objectdatasource