- PR -

GRIDVIEW(DateGrid)の機能について

投稿者投稿内容
武装キョンシー
ベテラン
会議室デビュー日: 2006/04/07
投稿数: 57
投稿日時: 2006-04-20 10:04
WEBアプリで使うGRIDVIEWのことでお聞きしたいのですが、
DBのデータ1列分のみを取得し、GridVIEWのほうにはデータが入る箇所が2列分あるとして2列目に取得したデータを表示させます。
残りの一列目に表示されたデータまで1〜順番に自動で番号が表示されるようにしたいのですがどのようにすればよろしいでしょうか?
ご教示お願いします。
じゃんぬねっと
ぬし
会議室デビュー日: 2004/12/22
投稿数: 7811
お住まい・勤務地: 愛知県名古屋市
投稿日時: 2006-04-20 10:36
安易ではありますが、DataSource 内に直接含めちゃダメなんでしょうか?

_________________
C# と VB.NET の入門サイト
じゃんぬねっと日誌
ue
ぬし
会議室デビュー日: 2005/05/07
投稿数: 581
お住まい・勤務地: 広島市
投稿日時: 2006-04-20 10:51
こんにちは。

方法は色々あると思いますが、私はこの方法を使っています。
コード:
<asp:GridView>
	<Columns>
		<asp:TemplateField>
			<ItemTemplate>
				<%# Container.DataItemIndex + 1  %>
			</ItemTemplate>
		</asp:TemplateField>
	</Columns>
</asp:GridView>



こちらの記事を参考にしました。
http://www.atmarkit.co.jp/fdotnet/dotnettips/066numberdg/numberdg.html
武装キョンシー
ベテラン
会議室デビュー日: 2006/04/07
投稿数: 57
投稿日時: 2006-04-20 10:57
引用:
安易ではありますが、DataSource 内に直接含めちゃダメなんでしょうか?

どういうことかわかりませんが、DBのテーブルに番号というカラムを作ってデータソースとするということでしょうか?

たとえばテーブルにはユーザ名とアドレスという2列で構成されていて
GRIDVIEW側は
番号  ユーザ名

という構成でDBのテーブルからユーザ名の列だけを取り出しただけですと
番号の列が空になるのでそれを自動で番号があたえらるようにしたいと思ったので
できればテーブル構造は変えたくないんです。
よい方法ございませんでしょうか?

武装キョンシー
ベテラン
会議室デビュー日: 2006/04/07
投稿数: 57
投稿日時: 2006-04-20 12:22
ありがとうございます。無事できました。
機能的なことでもうひとつお聞きしたいのですが、
GridViewの列をもうひとつ増やしボタン列としました。(各行にボタンを配置)
ボタンをイベントとして、別ページに作成したラベルに
このGridViewのボタンを押した行の2列目(例ではユーザ名)の値をパラメータとして送りラベルに貼り付けるといったことをしたいのですがSelectRowをどのようにつかうのかと
ページ間の値の受け渡し方法がわかりません。どのようにしたらよいでしょうか?
武装キョンシー
ベテラン
会議室デビュー日: 2006/04/07
投稿数: 57
投稿日時: 2006-04-20 15:35
調べた結果,Session変数に格納してやることにしました。
ただボタンを押した行の値を取得できずにいます。
Session("SndData")=DG.SelectRow.cells(1)
としています。
どう直したらよろしいのでしょうか?
どっとねっとふぁん
ぬし
会議室デビュー日: 2005/02/23
投稿数: 935
投稿日時: 2006-04-20 16:45
セッションに値がちゃんと入っているなら取り出すだけのはず。
ただ、セッションに値をいれた時点でobject型になっちゃってますから
元の型になるようにキャストする必要がありますね。
武装キョンシー
ベテラン
会議室デビュー日: 2006/04/07
投稿数: 57
投稿日時: 2006-04-21 09:24
Session("SndData")=DG.SelectRow.cells(1).text
でインスタンスが必要です。みたいなエラーになっているので
どうやら、ボタンと同じ行の2列目のデータをとるやりかたからわかってないと思います。どのようにしたらよろしいでしょうか?

スキルアップ/キャリアアップ(JOB@IT)