- PR -

DataGridのCssClass

投稿者投稿内容
SE卵
大ベテラン
会議室デビュー日: 2004/10/22
投稿数: 135
投稿日時: 2004-12-10 11:28
こんにちは。只今ASP.NET(VB.NET)でWebアプリを作成しているのですが、あるデータ一覧をDataGridに表示しています。その際、個々の列幅をテキストファイルに定義して、それを読み込んでそれぞれの列に設定しています。

COLWIDTH_1 = 100 ←テキストファイルから読み込んだ値
COLWIDTH_2 = 200 ←テキストファイルから読み込んだ値

DataGrid.Columns(0).HeaderStyle.Width = New Unit(COLWIDTH_1)
DataGrid.Columns(1).HeaderStyle.Width = New Unit(COLWIDTH_2)

これでも良いと思われるのですが、もしCSSファイルに列幅を設定する事が可能であるのならばCSSファイルに切り替えたいと思っています。DataGrid.CssClass = Class1みたいな事で列幅を指定する事は可能なのでしょうか?

どなたかご存知ある方、よろしくお願い致します。
きくちゃん
ぬし
会議室デビュー日: 2003/08/01
投稿数: 854
お住まい・勤務地: 都内某所
投稿日時: 2004-12-10 12:12
SE卵さん、こんにちは。

# 回答ではありません。

誰かに聞く前に、ちゃちゃっと自分で試してみた方が早いですよ。
misaki
会議室デビュー日: 2004/11/16
投稿数: 14
投稿日時: 2004-12-10 12:22
SE卵さん、こんにちは。

私は、ASP.NET(C#)で開発しています。
HeaderStyle ItemStyle を使えば出来そう・・・・。
こんな感じ↓

<asp:datagrid id="dg" runat="server" AutoGenerateColumns="False">
<ItemStyle CssClass="tb-item"></ItemStyle>
<HeaderStyle CssClass="tb-header"></HeaderStyle>
<Columns>
<asp:BoundColumn DataField="data1" HeaderText="data1">
</asp:BoundColumn>
<asp:BoundColumn DataField="data2" HeaderText="data2">
</asp:BoundColumn>
<asp:BoundColumn DataField="data3" HeaderText="data3">
</asp:BoundColumn>
</Columns>
</asp:datagrid>


[ メッセージ編集済み 編集者: misaki 編集日時 2005-01-17 17:58 ]
SE卵
大ベテラン
会議室デビュー日: 2004/10/22
投稿数: 135
投稿日時: 2004-12-10 12:31
na-kiさん ご返答どうもありがとうございます。昨日からいろいろ試しているのですが、参考にさせて頂きます。DataGridの幅に関してCSSで問題なさそうなんですが、一つ一つの列幅に対しての設定をどういう風に行うかが、考えどころですね。では、再度試作してみます。
にしざき
ぬし
会議室デビュー日: 2003/06/30
投稿数: 304
投稿日時: 2004-12-10 12:57
BoundColumn クラスについては調べましたか?
えんぞ@?
ぬし
会議室デビュー日: 2004/07/06
投稿数: 271
お住まい・勤務地: はまっこ
投稿日時: 2004-12-10 13:20
BoundColumn クラスの他には
DataGrid.Columns(ItemIndex).ItemStyle.CssClass = "hoge"

# 同じく調べた方が早いような・・・
SE卵
大ベテラン
会議室デビュー日: 2004/10/22
投稿数: 135
投稿日時: 2004-12-10 13:30
ItemStyle-CssClass="hoge" で問題なく動作致しました。みなさんどうもありがとうございました。ずっと正常に動作しなかったのですが、原因は単なるCSSファイルパスが違ったみたいです。すごく悔しい・・・

簡単な質問ですいませんでした。お手数かけました。。。
きくちゃん
ぬし
会議室デビュー日: 2003/08/01
投稿数: 854
お住まい・勤務地: 都内某所
投稿日時: 2004-12-10 13:31
SE卵さん、こんにちは。

引用:

昨日からいろいろ試しているのですが、


こりゃ失礼。

コード:
With DataGrid1
    .CssClass = "DG"
    .Columns(1).HeaderStyle.CssClass = "DGH1"
    .Columns(2).HeaderStyle.CssClass = "DGH2"
    .Columns(3).HeaderStyle.CssClass = "DGH3"
    .Columns(4).HeaderStyle.CssClass = "DGH4"
End With



以下、cssの記述。

コード:
.DG
{
    table-layout: fixed;
}
.DGH1
{
    width: 120px;
}
.DGH2
{
    width: 80px;
}
.DGH3
{
    width: 200px;
}
.DGH4
{
    width: 60px;
}



で、どうでしょう。

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