- - PR -
DataGridについて
投稿者 | 投稿内容 |
---|---|
|
投稿日時: 2006-04-07 11:05
お世話になります。まだはじめたばかりの初心者です。
環境は、ASP.NET(VB)でweb developer2005を使っています。 現在、DataGridでわからないことがありこちらのほうで質問させていただきたいのは httpに表示した際にデータの有無によらずDataGridで作成したもののヘッダー部は必ず表示されるようにしたいのですがどのようにすればよいのかがわからないのでご指導よろしくお願いします。 私の書いたソースの内容は以下になります。 <script runat="server"> Sub Page_Load(ByVal sender As Object, ByVal e As EventArgs) If Not IsPostBack Then BindGrid() End If End Sub Sub BindGrid() DG1.DataBind() End Sub </script> '以下はCSSのボディ部分 <body> <form id="form1" runat="server"> <div align =center> <br /> データグリッドについて</div> <br /> <div align =center> <asp:DataGrid ID="DG1" runat =server BorderColor="Black" width=60% BorderWidth="1px" AutoGenerateColumns="False"> <Columns> <asp:BoundColumn HeaderText="No." visible=true> <ItemStyle BorderColor="Black" Width="10%"/> <HeaderStyle BackColor="Aquamarine" BorderColor="Black" CssClass=FreezingCol /> </asp:BoundColumn> <asp:BoundColumn HeaderText="書籍名" > <ItemStyle BorderColor="Black" /> <HeaderStyle BackColor="Aquamarine" BorderColor="Black" CssClass=FreezingCol /> </asp:BoundColumn> <asp:TemplateColumn HeaderText="ボタン1"> <ItemTemplate> <asp:Button ID= DGB1 runat="server" BackColor= "LightGray" CausesValidation="false" CommandName="" Text="著者" /> </ItemTemplate> <ItemStyle BorderColor="Black" Width="15%" /> <HeaderStyle BackColor="Aquamarine" BorderColor="Black" CssClass=FreezingCol /> </asp:TemplateColumn> <asp:TemplateColumn HeaderText="ボタン2"> <ItemTemplate > <asp:Button ID= DGB2 runat="server" CausesValidation="false" CommandName="" Text="削除" BackColor= "LightGray" /> </ItemTemplate> <ItemStyle BorderColor="Black" Width="15%" /> <HeaderStyle BackColor="Aquamarine" BorderColor="Black" CssClass=FreezingCol /> </asp:TemplateColumn> </Columns> </asp:DataGrid> </div></form> </body> |
|
投稿日時: 2006-04-07 11:09
不足です。
Webアプリとして作成しています。 よろしくおねがいします。 |
|
投稿日時: 2006-04-07 11:17
逆だと思っていたのですが、2.0 から変わったのかな?
データが無い時のヘッダーの非表示 _________________ C# と VB.NET の入門サイト じゃんぬねっと日誌 |
|
投稿日時: 2006-04-07 11:41
GridViewならデータがないときはEmptyDataTemplateの内容が表示されるので、
EmptyDataTemplateに通常表示されるヘッダーと同じような項目をいれてやることに なりますが。。。 DataGridは触ってないからわからないですねぇ。 #なんでわざわざDataGridなんだろ。 |
|
投稿日時: 2006-04-07 11:51
DataGridでなくDataViewでも作れるのでしょうか?
両者の違いは何でしょうか?ご教示お願いします。 |
|
投稿日時: 2006-04-07 13:53
「GridView」はASP.NET 2.0で追加されたデータ表示用のコントロールです。
VS2005やVWDの標準ではこちらを使うようになっているのでツールボックスには DataGridは表示されていないと思います。 機能的にいろいろ拡張されていて、SqlDataSource等と組み合わせると コーディングすることなくデータの表示ができます。 #DataGridは互換性のために残ってるだけじゃないかと思います。 |
|
投稿日時: 2006-04-07 15:09
ご指摘いただきありがとうございます。
DataGridをやめDataViewでやることにしました。 こちらを使用した場合EmptyDataTemplateをどのように使えば ヘッダーだけを表示することができるのでしょうか? アドバイスよろしくお願いします。 |
|
投稿日時: 2006-04-07 17:31
「GridView」ですのでお間違えなく。
EmptyDataTemplateに通常のヘッダーと同じように見えるようHTMLを記述してあげればOKです。 #ヘッダーを見せるのではなく、ヘッダーと似たものを見せるという姑息な手段ですね。 |