- PR -

DataGridについて

投稿者投稿内容
武装キョンシー
ベテラン
会議室デビュー日: 2006/04/07
投稿数: 57
投稿日時: 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
投稿数: 57
投稿日時: 2006-04-07 11:09
不足です。
Webアプリとして作成しています。
よろしくおねがいします。
じゃんぬねっと
ぬし
会議室デビュー日: 2004/12/22
投稿数: 7811
お住まい・勤務地: 愛知県名古屋市
投稿日時: 2006-04-07 11:17
逆だと思っていたのですが、2.0 から変わったのかな?

  データが無い時のヘッダーの非表示

_________________
C# と VB.NET の入門サイト
じゃんぬねっと日誌
どっとねっとふぁん
ぬし
会議室デビュー日: 2005/02/23
投稿数: 935
投稿日時: 2006-04-07 11:41
GridViewならデータがないときはEmptyDataTemplateの内容が表示されるので、
EmptyDataTemplateに通常表示されるヘッダーと同じような項目をいれてやることに
なりますが。。。
DataGridは触ってないからわからないですねぇ。

#なんでわざわざDataGridなんだろ。
武装キョンシー
ベテラン
会議室デビュー日: 2006/04/07
投稿数: 57
投稿日時: 2006-04-07 11:51
DataGridでなくDataViewでも作れるのでしょうか?
両者の違いは何でしょうか?ご教示お願いします。
どっとねっとふぁん
ぬし
会議室デビュー日: 2005/02/23
投稿数: 935
投稿日時: 2006-04-07 13:53
「GridView」はASP.NET 2.0で追加されたデータ表示用のコントロールです。
VS2005やVWDの標準ではこちらを使うようになっているのでツールボックスには
DataGridは表示されていないと思います。
機能的にいろいろ拡張されていて、SqlDataSource等と組み合わせると
コーディングすることなくデータの表示ができます。

#DataGridは互換性のために残ってるだけじゃないかと思います。
武装キョンシー
ベテラン
会議室デビュー日: 2006/04/07
投稿数: 57
投稿日時: 2006-04-07 15:09
ご指摘いただきありがとうございます。
DataGridをやめDataViewでやることにしました。
こちらを使用した場合EmptyDataTemplateをどのように使えば
ヘッダーだけを表示することができるのでしょうか?
アドバイスよろしくお願いします。
どっとねっとふぁん
ぬし
会議室デビュー日: 2005/02/23
投稿数: 935
投稿日時: 2006-04-07 17:31
「GridView」ですのでお間違えなく。
EmptyDataTemplateに通常のヘッダーと同じように見えるようHTMLを記述してあげればOKです。

#ヘッダーを見せるのではなく、ヘッダーと似たものを見せるという姑息な手段ですね。

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