- - PR -
データグリッド内のラベルの大きさを自動で変えたい
1
投稿者 | 投稿内容 |
---|---|
|
投稿日時: 2006-02-23 07:32
いつも参考にさせていただいております。
質問がありますので、ご存知の方がいらっしゃいましたら ご教授お願い致します。 ■■やっている事■■ データグリッドに編集/更新/中止ボタンをつけ、編集モードにしデータグリッド上でデータを更新出来るようにしています。 ※ラベルとテキストボックスを切り替えて使用 ■■やりたい事■■ 表示されるデータ量によって、データグリッド1行の高さが自動で伸びたり縮んだりしますが、その場合、データグリッド内のラベル(通常時)及びテキストボックス(編集モード時)の高さをデータグリッド1行分の高さにあわせて自動調整したい。 今はラベルとテキストボックスの高さ(Height)を固定値で指定しています! その場合以下の問題が。。。 例/ Aラベルのデータが多い Bラベルのデータが少ない場合 →Aラベルにあわせてデータグリッドの1行の高さが自動で高くなる。 Bラベルの高さよりデータグリッドの1行の高さが高くなるとBラベルのデータが 中途半端な位置に表示されてしまい困っています。 データグリッドの1行の高さを取得して、ラベル及びテキストボックスのHeightを 自動設定できたりするのでしょうか? ■■現在のソース■■ @ボタン定義部 <ItemTemplate> <asp:Button id="btnEdit" runat="server" Width="40px" Text="編集" CausesValidation="false"CommandName="Edit"> </asp:Button> </ItemTemplate> <EditItemTemplate> <asp:Button id="btnUpd" runat="server" Width="40px" Text="更新" CommandName="UpDate"> </asp:Button> <asp:Button id="btnCancel" runat="server" Width="40px" Text="中止" CausesValidation="false"CommandName="Cancel"> </asp:Button> </EditItemTemplate> Aラベル、テキストボックス定義部 <asp:TemplateColumn HeaderText="データ"> <HeaderStyle Font-Size="8pt" HorizontalAlign="Center"></HeaderStyle> <ItemStyle Font-Size="8pt" HorizontalAlign="Left" Width="280px" VerticalAlign="Middle"></ItemStyle> <ItemTemplate> <asp:Label id=lblBd runat="server" Width="280px" Height="120px" Text='<%# DataBinder.Eval(Container.DataItem, "データ1") %>'> </asp:Label> </ItemTemplate> <EditItemTemplate> <asp:TextBox id=txtBd runat="server" Width="280px" Height="120px" Text='<% # DataBinder.Eval(Container.DataItem, "データ2") %>'> </asp:TextBox> </EditItemTemplate> </asp:TemplateColumn> [ メッセージ編集済み 編集者: はっちん 編集日時 2006-02-23 07:35 ] |
|
投稿日時: 2006-02-26 22:43
BindingItem イベントかな?そんな名前のアイテムにデータがバインドされるとき、というイベントがありますので、そこで処理します。
ところで、表示される行数というのは、不確定要素が多いと思います。ブラウザの大きさを変えられると、変わりますよね。なので、難しいかな? とりあえず、スタイルに height:100% を追加してみてください。それでどうなりますか? 〆 written by Jitta@わんくま同盟 on 2006/02/26 |
|
投稿日時: 2006-02-28 07:46
スタイルをheight:100%にすることで解決できました。
Jittaさんありがとうございましたm(_ _)m |
1