0

データベースへの接続に linq を使用していますが、データベースから大量のデータを表示するのはこれが初めてなので、処理方法がわかりません。ヒントを教えてください。ありがとう!

public partial class _Default : System.Web.UI.Page
{
    protected void Page_Load(object sender, EventArgs e)
    {
        if(!Page.IsPostBack)

        rebind();
    }

    private void rebind()
    {
        using ( var db = new linqDataContext())
        {
            GridView1.DataSource = db.Orders.Select(p => new { p.OrderID, p.CustomerID, p.ShipName, p.ShipCity }).ToList();
            GridView1.DataBind();
        }
    }

    protected void GridView1_PageIndexChanging(object sender, GridViewPageEventArgs e)
    {
        GridView1.PageIndex = e.NewPageIndex;
        rebind();
    }
}
4

4 に答える 4

5

ヒント: Web アプリケーションで一度に大量のデータを表示しないでください。ページング コントロールを使用して、データベースから一度に数行だけを取得して表示します。

于 2012-04-14T00:40:09.563 に答える
2

大量のデータをページングするには、カスタムページングを使用する必要があります。

カスタムページングにより、データの特定のページに必要なレコードの正確なセットのみがデータベースから一度に取得されます。

次のリンクでは、ObjectDataSourceコントロールを使用してカスタムページングを実行する方法について詳しく説明しています。http: //msdn.microsoft.com/en-us/library/bb445504.aspx

于 2012-04-16T11:27:38.200 に答える
2

ページングについて考えたことはありますか?LINQ の結果を Gridview データソースにバインドできるはずです。グリッドビューでページサイズを設定するだけでうまくいくと思います。

私は以前にそれをやったことがありますが、実際にはコードビハインドで自分でページ(およびページサイズ)を追跡し、LINQのようなものを持っていました gv.DataSource = (From s In Results Select s).Skip(pageSize * (currPage-1)).Take(pageSize)

于 2012-04-14T00:45:09.680 に答える
1

ページング。2 つの驚くべき JQuery ベースのテーブル (順序付けやフィルタリングなど、他の多くのものを処理します) を見てください。

于 2012-04-15T16:25:51.353 に答える