- - PR -
ASP.NET datagrid内のLABELにて日本語表示で・・・
1
投稿者 | 投稿内容 | ||||
---|---|---|---|---|---|
|
投稿日時: 2004-04-06 10:55
いつもお世話になっております
datagrid内 の LABELにて、日本語を表示させると 縦書に表示されてしまいます。 プロパティをいじってはみたものの、頑固として縦!! なぜ????? TEXTBOXだと横書に表示されるのですが、READONLYにしても 枠が空き、「入力エリアですよ」と錯覚させるし 困りはてています 申し訳ありません ご教授願います。 | ||||
|
投稿日時: 2004-04-06 11:27
その「縦書き」とは、
|こ| |の| |様| ? それとも、 |こ | |の | |様 | ? 上の方だと、おそらく、他の列の幅の関係で、その幅しか取れなくなった、などだと思います。テーブル全体の幅が広がれば、横書きになると思います。 | ||||
|
投稿日時: 2004-04-06 11:46
この場合、Labelを表示しようとしているDataGridのカラム指定で、Wrap="False"を指定すればよいと思います。 | ||||
|
投稿日時: 2004-04-06 14:25
jittaさん masasさん ありがとうございます
まさしく、「この様」でして 長ーーい、備考欄があるため、あまり横幅を 広げられないのですが・・・・・ Wrap="False" を入れてみましたが、横幅に変化はなく 縦幅がシェイプになりました でも、datagridの仕様なんですよねぇ textbox を使用するしか、ないかなぁ!! LABEL用の化粧をするしかないのでしょうか・・・・ 他にうまい方法は・・・・・ すみません よろしくお願いします | ||||
|
投稿日時: 2004-04-06 14:56
DataGridというより、HTMLのTable要素か、IEのレンダリングの仕様でしょう。 tableタグの、すべての列で幅を指定すると、指定した値を比率として計算をするようです。どれか1つを“フリーホグ”として幅を指定しないようにするとよいかも。 しかし、その備考欄を長ーーくする必要があるのでしょうか?IEならば、CTRL+マウスホイールなどで文字の大きさを変えられます。また、文字の横幅を正確に取得することは出来ません(基本的にプロポーショナルらしい)。これらのことから、ラップするか、スクロールすることを前提にしなければならない、と思います。 | ||||
|
投稿日時: 2004-04-06 14:58
DataGridの列の幅を設定してあげたらどうでしょうか?
「プロパティビルダ」→「書式」→「列」で各列の幅が設定できます。 | ||||
|
投稿日時: 2004-04-06 17:29
jittaさん ゆうじゅんさん
ありがとうございます
ちなみに テンプレート編集を使用しています <asp:ButtonColumn Text="削除" ButtonType="PushButton" CommandName="Delete"> <HeaderStyle Width="25px"></HeaderStyle> </asp:ButtonColumn> <asp:TemplateColumn HeaderText="伝票番号"> <HeaderStyle Width="30px"></HeaderStyle> <HeaderTemplate> <asp:Label id="Label6" runat="server">伝票</asp:Label> </HeaderTemplate> <ItemTemplate> <asp:Label id=GLbl1 runat="server" Width="25px" Text='<%# DataBinder.Eval(Container, "DataItem.伝票番号") %></asp:Label> </ItemTemplate> </asp:TemplateColumn> MSDN online で見た、ItemCreated で e.Item.Cells(0).Width = New Unit(25) も使用してみましたが、 列幅の固定が出来なくて困っています DataGrid のプロパティの Width="660px" と 各列で指定した、Width の合計とが等しくなるように設定しました 何か、他の設定が違っていて、固定できないのかもしれませんが・・・ | ||||
|
投稿日時: 2004-04-06 18:21
一番長い列の列幅を「指定なし」にしてみてください。
理由はJittaさんの書き込みを参照してみてください。 |
1