質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
C#

C#はマルチパラダイムプログラミング言語の1つで、命令形・宣言型・関数型・ジェネリック型・コンポーネント指向・オブジェクティブ指向のプログラミング開発すべてに対応しています。

Visual Studio

Microsoft Visual StudioはMicrosoftによる統合開発環境(IDE)です。多種多様なプログラミング言語に対応しています。

.NET Framework

.NET Framework は、Microsoft Windowsのオペレーティングシステムのために開発されたソフトウェア開発環境/実行環境です。多くのプログラミング言語をサポートしています。

Q&A

解決済

2回答

16228閲覧

C#.netのDataGridViewでページング処理

mnsc10

総合スコア34

C#

C#はマルチパラダイムプログラミング言語の1つで、命令形・宣言型・関数型・ジェネリック型・コンポーネント指向・オブジェクティブ指向のプログラミング開発すべてに対応しています。

Visual Studio

Microsoft Visual StudioはMicrosoftによる統合開発環境(IDE)です。多種多様なプログラミング言語に対応しています。

.NET Framework

.NET Framework は、Microsoft Windowsのオペレーティングシステムのために開発されたソフトウェア開発環境/実行環境です。多くのプログラミング言語をサポートしています。

0グッド

0クリップ

投稿2015/11/16 02:29

編集2015/11/16 03:13

DataGridViewでのページング処理を行いたいのですがやり方がわかりません。
データベースからとってきたデータを10件ずつ表示し画像のように2のリンクを押したら11~20件目のデータを表示したいです。
ページ番号リンクの生成もデータ数によって生成したいのですが、フォームのDesigner.csの中にif文やfor文を書くとエラーが出て怒られてしまいます。
どうすればよいのでしょうか。

使用環境は
visual studio 2015
Visual C#
.net 4.5
windows フォームアプリケーション
で作成しています。

よろしくお願いします。

イメージ説明

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答2

0

ベストアンサー

Gridview内で画像を表示するにはImageFieldを使うのが良いと思います。
ImageFieldのDataImageUrlFieldプロパティにパスを指定するだけで、画像を表示することができます。

Gridview自体にページング機能があるので、ifやforを書かなくても
自動生成してくれます。以下のサイトが参考になると思います。

GridView 列での画像の表示
https://msdn.microsoft.com/ja-jp/library/aa479350.aspx
http://uchukamen.com/ASPNET20/GridView/

GridView によるページング
http://aspnet.keicode.com/controls/gridview-paging.php

投稿2015/11/16 03:39

Qoo

総合スコア1249

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

mnsc10

2015/11/16 04:12

リンク先のページではASP.NETを使用したWebアプリケーションだったのですが、 Windowsフォームアプリケーションで作成したいです。 ASP.NETでしかページング機能は無いようなのですが、似たようなものがあるのでしょうか。
Qoo

2015/11/16 04:27

すみません。windowsフォームのDataGridコントロールなんですね。 DataGridコントロールにはページング機能がないので、 コントロールとは別にページング用にラベルコントロールとボタンコントロールなどで 独自に実装することになると思います。 例えば初期表示では10件表示しておいて、 『前へ』『次へ』などのボタンを別に配置します。 『次』を押すと今表示しているデータから+10件~+20件を取得して、DataGridにバインド。という感じが簡単なのではないでしょうか。 以下に DataGrid に簡単なページ機能を組み込む方法についての記載があるので 確認してみてください。 https://support.microsoft.com/ja-jp/kb/307710
mnsc10

2015/11/16 04:38

ありがとうございます。 何度も申し訳ないのですが、最後のページまで行くとラベルを表示しないようにしたいのですが、直接フォームのDesigner.csにif文を書くとエラーが出てしまいます。 ラベルの動的生成などはできないようになっているのでしょうか。
Qoo

2015/11/16 09:06

単に表示したくないだけであれば、 visible=falseを設定して、 非表示にしてしまえば、良いと思います。
mnsc10

2015/11/17 04:07

ありがとうございます。
guest

0

LINQのSkipとTakeを使って絞ったものをDataGridViewのDataSourceにすればいいのではないでしょうか

投稿2015/11/16 03:56

dojikko

総合スコア3939

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問