- PR -

【ASP.NET1.1】 DataGridの幅の固定方法について

1
投稿者投稿内容
トッティ
会議室デビュー日: 2006/10/19
投稿数: 16
投稿日時: 2006-10-30 12:45
お世話になります。
DataGridの列幅の固定方法を教えて下さい。

現状は、
列1:width=100px
列2:width=120px
列3:width=40px(ボタン)
となっております。

通常、列2には、全角10文字程度のデータなのですが、
まれに、全角100文字のデータ程度のデータが入っている場合があります。
列2に全角100文字のデータが入っていると、
DataGridの表示にて、列の幅が変わってしまいます。
(次ページに進むと、前ページと列幅が違ってしまう。)

DataGridの列を固定する方法がありましたら、
教えて下さい。
宜しくお願い致します。
かるあ
ぬし
会議室デビュー日: 2003/11/16
投稿数: 1190
お住まい・勤務地: センガワ→ムサシノ
投稿日時: 2006-10-30 17:13
全角文字だとワードラップするはずなんですけれどね。。。
出力されたHTMLはどうなっていますか?

それと、
引用:

トッティさんの書き込み (2006-10-30 12:45) より:

列1:width=100px
列2:width=120px
列3:width=40px(ボタン)


各列の幅の指定は実際にどのように行っていますか??
こんな感じ?
コード:

DataGrid1.Columns(0).ItemStyle.Width = Unit.Pixel(10)



#途中で投稿してしまった。

[ メッセージ編集済み 編集者: かるあ 編集日時 2006-10-30 17:19 ]

[ メッセージ編集済み 編集者: かるあ 編集日時 2006-10-30 18:34 ]
トッティ
会議室デビュー日: 2006/10/19
投稿数: 16
投稿日時: 2006-10-30 18:27
お返事ありがとうございます。

列幅の指定は、DataGridのプロパティビルダの書式レイアウトにて
列幅を指定しております。


HTMLを出力しますと、

<table rules="cols" id="dgCompanyList" style="height:136px;width:800px;">
 <tr style="color:Black;background-color:Gainsboro;">
 <td>部署</td>
 <td>ああああああ・・・(100文字)</td>
 </tr>
</table>

となっております。
かるあ
ぬし
会議室デビュー日: 2003/11/16
投稿数: 1190
お住まい・勤務地: センガワ→ムサシノ
投稿日時: 2006-10-30 18:33
引用:

トッティさんの書き込み (2006-10-30 18:27) より:

<table rules="cols" id="dgCompanyList" style="height:136px;width:800px;">
 <tr style="color:Black;background-color:Gainsboro;">
 <td>部署</td>
 <td>ああああああ・・・(100文字)</td>
 </tr>
</table>


あれ?? Table に width 属性が着いてますよ。
列幅を固定にしたいなら <td> に付くようにしないと。。。
トッティ
会議室デビュー日: 2006/10/19
投稿数: 16
投稿日時: 2006-10-30 20:58
かるあさん、ありがとうございました。
おかげさまで、<td>タグで列幅を指定することで列幅を固定することができました。

しかし、ソースをよく見ると、style:width="100px";とstyleで指定しているせいか、
ウィンドウを小さくしたときに、それにつられて伸縮してしまいます。
まだ、なにか指定し足りないのでしょうか?
(<table>タグに書かれたwidth属性は、取りました。)

<asp:datagrid>
 <columns>
 <asp:boundcolumn headertext="列1">
<headerstyle width="100px"></headerstyle>
<itemstyle width="100px"></itemstyle>
 </asp:boundcolumn>
  <asp:boundcolumn headertext="列2">
<headerstyle width="120px"></headerstyle>
<itemstyle width="120px"></itemstyle>
  </asp:boundcolumn>
  <asp:buttoncolumn text="ボタン" buttontype="PushButton">
     <headerstyle width="40px"></headerstyle>
  <itemstyle width="40px"></itemstyle>
  </asp:buttoncolumn>
 </columns>
</asp:datagrid>
THREE-ONE
常連さん
会議室デビュー日: 2006/08/17
投稿数: 36
投稿日時: 2006-10-30 23:12
こんばんは、THREE-ONEです。

とりあえず table にも width を指定したらウィンドウに左右されませんよ。
それと width="100px" にしてもウィンドウにはつられます。
tableにもしっかりとサイズ指定した方がよろしいかと思います。
1

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