- PR -

C#.net で DataGrid 使って ボタンカラム を!

投稿者投稿内容
かるあ
ぬし
会議室デビュー日: 2003/11/16
投稿数: 1190
お住まい・勤務地: センガワ→ムサシノ
投稿日時: 2006-06-29 11:21
引用:

どっとねっと?さんの書き込み (2006-06-29 10:48) より:

<asp:BoundColumn DataField="title" HeaderText="タイトル"></asp:BoundColumn>
などの、要素?(DataFieldとか)の種類や、説明などが載ってるサイトをご存知でしたら、教えていただけないでしょうか?
(BoundColoumnに限らずで(><;; )


MSDN のリファレンスに全てのっています
http://msdn2.microsoft.com/ja-jp/library/system.web.ui.webcontrols.boundcolumn.aspx
DataGield などは BoundColumn クラスのプロパティです
どっとねっと?
会議室デビュー日: 2006/06/27
投稿数: 6
投稿日時: 2006-06-29 11:26
連続投稿になると思い、前回の投稿に追記したのですが、
時間が重なってしまった為、追記部分のみ再投稿します。

どうも、ありがとうございます。
先ほどの質問の時点から幾分か進みましたので、報告します。

(進展)
上記の要素については、HTMLの方で各タグの中でスペースを打つことにより、選べる一覧が表示されました。また、プロパティ部分にも表示されました。
選べる一覧から、なんの値を決めるのかというのは、エキサイト翻訳さんで、単語単位に翻訳してもらい、大体なんの設定値か知る事ができました。

(問題)

<asp:datagrid id="DataGrid1" style="Z-INDEX: 116; LEFT: 32px; POSITION: absolute; TOP: 184px"
runat="server" Width="784px" AutoGenerateColumns="false">
<AlternatingItemStyle BackColor="#DDDDFF"></AlternatingItemStyle>
<ItemStyle BackColor="#EEEEFF"></ItemStyle>
<HeaderStyle ForeColor="White" BackColor="#5522BB" HorizontalAlign="Center"></HeaderStyle>
<Columns>
<asp:ButtonColumn Text="詳細" ButtonType="PushButton" HeaderText="" HeaderStyle-Width="40">
<HeaderStyle Wrap="False" HorizontalAlign="Center"></HeaderStyle>
</asp:ButtonColumn>
<asp:BoundColumn DataField="name" HeaderText="名     前"></asp:BoundColumn>
<asp:BoundColumn DataField="tel" HeaderText="電 話 番 号"></asp:BoundColumn>
<asp:BoundColumn DataField="syozai" HeaderText="所     在"></asp:BoundColumn>
</Columns>

と、する所まではできたのですが、ボタン押した時の動作がわかりませんでした(><;;
普通に使ってるボタンと同じようにソース部分で書けるだろうと予測していたのですが;;

[ボタンにidの値を付け、idの値を詳細ページの方に渡す]
という事がしたいです(><;;
idの値を割り振ろうと、ボタンカラムのところでDataFieldのプロパティを探したけど見つからず・・・どうやってやるんだぁ〜と、いう感じです。

お分かりの方で、教えていただける方がいましたらよろしくお願い致します。

以上です、よろしくお願い致します。
かるあ
ぬし
会議室デビュー日: 2003/11/16
投稿数: 1190
お住まい・勤務地: センガワ→ムサシノ
投稿日時: 2006-06-29 11:45
あれ?最初の質問に戻ってしまいましたね
ぼくや深山さんが参照した URL にボタンが押されたときの動作まで説明されていますよ

MSDNのデータグリッドのイベントについても調べてください
http://msdn2.microsoft.com/ja-jp/library/system.web.ui.webcontrols.datagrid_members.aspx
どっとねっと?
会議室デビュー日: 2006/06/27
投稿数: 6
投稿日時: 2006-06-29 12:03
かるあ様、申し訳ないです(><;;

最初はボタンを配置するのに必死でそこの部分見落としていました;;

<asp:datagrid OnItemCommand="Syousai_Command">
と、datagrid宣言の中で OnItemCommand を指定する事により、
ソース側の
void Syousai_Command(object sender, DataGridCommandEventArgs e)
{
String nae = e.Item.ItemIndex.ToString();
}
部分に処理を飛ばす事ができました(><b

また、中の e.Item.ItemIndex.ToString(); で、どの行のボタンを押したかを取得できました。
上から0.1.2・・・という、形で。

今回は元々がDataSetの配列(?)なので、配列番号としてこの値を取得し、配列の番号のidカラムよりidの値を取得する事ができそうです(><b

かるあ様へ
最初から最後まで、お手数をおかけしました。
かるあ様のおかげでできそうです(><b
また、文章的におかしい所が多々あったと思います。
その点の理解もありがとうございました。

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