2

現在、GridViewを使用して表形式のデータを表示しています。等しい値を持つ最初の列のセルをマージする必要があります。現時点では、PreRenderイベントにRowSpanプロパティを設定するコードがあり、正常に機能しています。

問題は、最初のフィールドが等しいセクションの途中でページが分割されるため、ページングを使用できないことです。

ページングのレコード数は、サブ行ごとに1つではなく、マージされた行ごとに1つカウントするようにします。

これはGridViewまたは他のjQueryグリッドで可能ですか?

4

2 に答える 2

0
for (i = PagSize; i <= dt.Rows.Count; i++)
{
    Curr = dt.Rows[i - 1]["Brand"].ToString();
    if (i < dt.Rows.Count)
    {
        Nxt = dt.Rows[i]["Brand"].ToString();
        diff = dt.Rows.Count - i;
        if (Curr != Nxt)
        {
            DctPaging.Add(PageNum, i);
            PageNum = PageNum + 1;
            i = i + PagSize;
            if (i >= dt.Rows.Count)
            {
                DctPaging.Add(PageNum, i);
                break;
            }
        }
    }
}

参照ここをクリック

于 2015-01-19T10:27:31.657 に答える
0

UI レベルでマージを処理する代わりに、直接バインドできるようにデータ ソースを準備することはできますか?

基本的に、バインドしやすい形式でデータを含むビュー モデルを作成します。

GridView.DataSource() = vmAlreadyMergedAndReadtToGoOBject
GridView.DataBind();

どこからデータを取得しているのかわかりませんが、ソース (データベース?) から返された結果セットに基づいて、プログラムでグリッドにバインドするオブジェクトを構築できませんか?同じ行の値にグリッドをバインドするだけで済みます...何をしているのか完全にはわかりませんが、これが最初に思い浮かびました....

于 2012-03-29T05:29:29.757 に答える