祝大家新年快樂~!
Q.使用AllowPaging讓GridView出現分頁效果時,出現” 資料來源不支援伺服器端的資料分頁。”的錯誤訊息?
A.這可能是因為你使用了DataReader來Binding GridView,後來發現必須使用DataSet,因為要DataSet來產生一個Table物件,然後將資料放在Table中,才能夠進行分頁的動作。
OleDbCommand myCommand;
OleDbConnection myConnection;
OleDbDataAdapter myDataAdapter;
myConnection = new OleDbConnection("Provider=Microsoft.ACE.OLEDB.12.0;data source=" + Server.MapPath("database/Book.accdb"));
myConnection.Open();
DataSet myDataSet = new DataSet();
myCommand = new OleDbCommand("Select * from Book", myConnection);
myDataAdapter.Fill(myDataSet, "Book");
Grid1.DataSource = myDataSet;
Grid1.DataBind();
myConnection.Close();
Q.當你設定了分頁功能,並且在頁面上GridView有顯示成功,也有出現”下一頁”字樣,但是點下去時,卻出現” 由 GridView引發但尚未處理的事件 PageIndexChanging。”的錯誤訊息。
”
A.後來我查了網路才知道,竟然還需要新增一個PageIndexChanging來控制事件@@,底下供程式碼給大家參考。
protected void Grid1_PageIndexChanging(object sender, GridViewPageEventArgs e)
{
Grid1.PageIndex = e.NewPageIndex;
myConnection = new OleDbConnection("Provider=Microsoft.ACE.OLEDB.12.0;data source=" + Server.MapPath("database/Book.accdb"));
myConnection.Open();
DataSet myDataSet = new DataSet();
myDataAdapter = new OleDbDataAdapter("Select * from Book", myConnection);
myDataAdapter.Fill(myDataSet, "Book");
Grid1.DataSource = myDataSet;
Grid1.DataBind();
myConnection.Close();
}
沒有留言:
張貼留言
歡迎提供良性建議^_^