- - PR -
GridViewのtemplatefieldについて
1
投稿者 | 投稿内容 | ||||||||
---|---|---|---|---|---|---|---|---|---|
|
投稿日時: 2006-07-19 16:27
いつもお世話になっております。
今回初めてVS2005を使用して開発を行っているのですが、 GridViewのtemplatefieldについて教えて頂きたいと思います。 <asp:GridView ID="GridView1" runat="server" DataSourceID="SqlDataSource1" Height="168px" Width="100%" OnRowDataBound="GridView1_RowDataBound"> <Columns> <asp:BoundField DataField="Time" HeaderText="時間" ReadOnly="True" SortExpression="Time" > <ItemStyle HorizontalAlign="Center" /> </asp:BoundField> <asp:templatefield headertext="件数"> <itemtemplate> <asp:label id="CountLabel" runat="server"/> </itemtemplate> <ItemStyle HorizontalAlign="Center" /> </asp:templatefield> <asp:BoundField DataField="Capacity" HeaderText="容量" ReadOnly="True"> <ItemStyle HorizontalAlign="Center" /> </asp:BoundField> </Columns> </asp:GridView> 上記のように「時間」と「容量」については、SqlDataSourceを使用して 表示しているのですが、「件数」はどうしても同じSQLで表示できない為、 templatefieldにし別の方法で取得しようと色々苦慮して試しましたが 方法がわかりません。 対応方法を教えて頂けないでしょうか。 (templatefieldを使用しなくてもよいのならそれで結構です) 「GridView1_RowDataBound」で「e.Row.Cells(1).Text = "3/5"」のように 記述してみたのですが、確かに表示されますが、GridViewが もう一つ(「GridView2」)存在する為、同じように書き込まれてしまい断念しました。「GridView1」に記述という指定方法がありましたらあわせて教えて下さい。 長文で言葉も乱雑で申し訳ございませんが、よろしくお願い致します。 | ||||||||
|
投稿日時: 2006-07-19 17:04
件数はどうやって取り出すのでしょうか?
今の情報だけだとどんなデータを表示したいのかがわからないので、対応方法の アドバイスのしようがないと思います。 このあたりもう少し詳しく記述してみたらどうでしょう。 > 「GridView1_RowDataBound」で「e.Row.Cells(1).Text = "3/5"」のように > 記述してみたのですが、確かに表示されますが、GridViewが > もう一つ(「GridView2」)存在する為、同じように書き込まれてしまい断念しました。 GridView1_RowDataBoundはGridView1のときしか動かないはずです。 もし同じように書き込まれたとしたらどこか間違ってるんじゃないでしょうか。 GridView2のRowDataBoundイベントにGridView1_RowDataBoundを指定してるなんて 記述になってませんか? | ||||||||
|
投稿日時: 2006-07-19 17:07
[件数]がどのようなデータで源が何なのかがちと不明です。全レコード同じデータ?
GridView2のイベントにGridView1_RowDataBoundを関連付けちゃってません? かぶった;・・(だいぶ [ メッセージ編集済み 編集者: べる 編集日時 2006-07-19 17:08 ] | ||||||||
|
投稿日時: 2006-07-19 17:23
GridView2の件ですが申し訳ございませんでした。
お恥ずかしい事ですが、GridView2のイベントに関連付いていました。 言葉足らずでした。 DBサーバが2台ありまして、別々のデータベースより取得します。 「件数」は「時間」・「容量」と異なるDBサーバより取得したいので 新たに「件数」取得用のSQLを発行したいのです。 | ||||||||
|
投稿日時: 2006-07-19 19:23
パフォーマンス的には問題ある方法ですけど、ItemTemplateの中に件数を取り出す
DataSourceを追加することでデータの取得や表示はできそうな気はします。 GridViewに表示される行の分だけDataSourceが動くので、いいとは思いませんが。 |
1