C# と VB.NET の質問掲示板

ASP.NET、C++/CLI、Java 何でもどうぞ

ログ内検索
  • キーワードを複数指定する場合は 半角スペース で区切ってください。
  • 検索条件は、(AND)=[A かつ B] (OR)=[A または B] となっています。
  • [返信]をクリックすると返信ページへ移動します。
キーワード/ 検索条件 /
検索範囲/ 強調表示/ ON (自動リンクOFF)
結果表示件数/ 記事No検索/ ON
大文字と小文字を区別する

No.87578 の関連記事表示

<< 0 >>
■87578  Re[1]: ASP.netのListViewについての疑問
□投稿者/ WebSurfer -(2018/06/08(Fri) 12:40:46)
    No87576 (ねこ さん) に返信

    いろいろ不明ですが、できる方法を紹介しておきます。

    ASP.NET 3.5 の ListView や DapaPager にはいろいろ不具合があるのですが、.NET 4.5.2
    以降を使っているなら以下に紹介する方法で問題ないでしょう。多分

    もし、UpdatePanel を使っているなら非同期ポストバックのトリガとなるコントロールの
    ClientIDMode プロパティはデフォルトではなく AutoID にしておくことをお勧めします。

    #だから開発環境を書いてくれと言っているわけで、意味もなく聞いているわけではない
     のですよ。

    > SqlDataSourceのSelectCommandを切り替えるという仕組みです。

    そういう方法ではなくて、WHERE 句は以下のように固定しておいて、

    SELECT COL1, COL2, COL3
    FROM TABLE1
    WHERE @COL1 = 'ALL' OR COL1 = @COL1

    DropDownList の SelectedValue プロパティの値をパラメータ @COL1 に代入して、全件抽出と
    条件抽出の両方に対応できるようにするという方法ではいかがですか?

    以下の記事は ListView ではなく GridView を使った場合ですが、GridView を ListView に置
    き換えても同じことはでき、これで「疑問1.」は解決するはずです。

    DropDownList を使って絞込み
    http://surferonwww.info/BlogEngine/post/2011/07/17/Showing-records-selected-by-DropDownLists-into-GridView.aspx

    デザイナでページングを有効にすれば DataPager が自動的に配置されてページングは可能にな
    り「疑問2.」も解決できると思います。

    ただし、 DataPager を配置してページングを行う場合、例えば、全件抽出してから別のページ
    に移動したあと、そのページで条件抽出を行った場合、何ページかという情報は保持されていて、
    「そのページ」を表示しようとします。

    条件抽出でレコード数が減ると当然全ページ数は減りますが、「そのページ」にはレコードがない
    場合 DataPager を含めて何も表示されないという結果になります。

    なので、DropDownList の選択が変更されたら最初のページを表示するようなコートを追加する必
    要があります。

    デザイナを使った場合、DataPager フィールドにデフォルトで NextPreviousPagerField が設定
    されると思いますが、それではページ指定の制御ができないのでNumericPagerField を実装し、
    その HandleEvent メソッドを利用します。

    具体例は以下の記事を見てください。

    ListView でページ指定
    http://surferonwww.info/BlogEngine/post/2010/11/13/Show-specified-page-of-ListView-programmatically.aspx
記事No.87576 のレス /過去ログ150より / 関連記事表示
削除チェック/



<< 0 >>

パスワード/

- Child Tree -