- PR -

DataGridの列の高さについて

1
投稿者投稿内容
はん
会議室デビュー日: 2004/10/27
投稿数: 4
投稿日時: 2004-10-27 20:16
VB.NETを使用しWebアプリケーションを作成しています。
DataGridのヘッダの高さを固定したいと思い、
<HeaderStyle Height="100"></HeaderStyle>と追加をしたのですが、
実際に実行してみるとこれが全く反映されておらず、
思ったとおりのレイアウトになりません。
ご存知の方がいらっしゃいましたらご教授願います。
宜しくお願いします。
じいじ
大ベテラン
会議室デビュー日: 2003/11/11
投稿数: 223
投稿日時: 2004-10-28 11:42
直感ですみません・・・・

><HeaderStyle Height="100"></HeaderStyle>と追加をしたのですが

どこへ追加したの?どのファイル?

Webアプリケーションを実行して、表示されたページのソースを見てください。
ソースに上記のコードがありますか?
はん
会議室デビュー日: 2004/10/27
投稿数: 4
投稿日時: 2004-10-28 15:28
説明不足ですみません。

<HeaderStyle Height="100"></HeaderStyle>は
<asp:datagrid>と<Columns>の間に挿入しました。

表示されたページのソースでは
<table>のすぐ次に
<tr style="height:100px;">
  ……
</tr>
と表記されています。

また<asp:BoundColumn>の下にも、幅を設定するために<HeaderStyle>を
挿入していますが、Heightは何も設定していません。

初心者なのでうまく説明ができなくて申し訳ないです。
ヘッダーの高さが設定した値よりも明らかに大きい高さになっています。
試しに"1px"と書き換えてみたのですが、相変わらずの高さでした。

あと、表の列幅(ヘッダーも含む)を固定化したいと考えていますが、
実行してみるとデータの大きさによって、列幅のサイズが変動してしまいます。
固定化することは可能なのでしょうか?
もし可能でしたら、その方法を教えていただきたいです。
よろしくお願いします。
dwfm
会議室デビュー日: 2004/07/30
投稿数: 3
投稿日時: 2004-10-28 17:23
> <HeaderStyle Height="100"></HeaderStyle>は
> <asp:datagrid>と<Columns>の間に挿入しました。

この方法で他のソースが邪魔していない限り高さは正常に指定できるはずですよ。

> あと、表の列幅(ヘッダーも含む)を固定化したいと考えていますが、
> 実行してみるとデータの大きさによって、列幅のサイズが変動してしまいます。
> 固定化することは可能なのでしょうか?
> もし可能でしたら、その方法を教えていただきたいです。
> よろしくお願いします。

幅の指定は人によって色々なやり方があるとおもいますが、
私は下記のように記述しています。
これをやる時にHeaderStyle-Widthに指定した幅よりセルの中に記述したコントロール等が大きいと
幅もそれに合わせて広がってしまうので注意が必要です。

<Columns>
<asp:TemplateColumn HeaderStyle-Width="200px" ・・・
はん
会議室デビュー日: 2004/10/27
投稿数: 4
投稿日時: 2004-10-28 19:15
教えていただいたことを元にソースをいじってみました。
やはり他のソースが邪魔していたようです。
<asp:BoundColumn>の下の<HeaderStyle>を一旦削除してみたところ、
綺麗に表示されました。

また、セルの中に記述したデータが大きいために
それに合わせて幅も変動してしまうというのも納得がいきました。

どうもありがとうございました!
todo
ぬし
会議室デビュー日: 2003/07/23
投稿数: 682
投稿日時: 2004-10-28 20:26
引用:

また、セルの中に記述したデータが大きいために
それに合わせて幅も変動してしまうというのも納得がいきました。



指定した幅に合わせて改行して欲しいのであれば、(その代わり高さが大きくなる)

<ItemStyle Wrap = "True"> とか。(英文のみ単語の切れ目で改行)
CSSの word-break:break-all とか。(IE限定。 英文、和文共に単語の途中でも改行)
1

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