- PR -

DataGridのテンプレート列

1
投稿者投稿内容
ごん太
大ベテラン
会議室デビュー日: 2002/07/30
投稿数: 182
お住まい・勤務地: 森の中
投稿日時: 2003-12-08 11:27
VB.NETでDataGridにテンプレート列を追加し、
そこにテキストボックスを作成しているのですが、
そのテキストボックスに入る値を右揃えにしたいのですが、
方法が解りません。
通常の列はe.Item.Cells(0).HorizontalAlign = HorizontalAlign.Right
などで右揃えに出来るのですが。。。

わかる方教えていただけませんでしょうか

[ メッセージ編集済み 編集者: はにまる 編集日時 2003-12-08 11:39 ]
junya_s0
常連さん
会議室デビュー日: 2002/12/23
投稿数: 26
投稿日時: 2003-12-08 12:01
e.Item.FindControl(コントロール名)

と書けばコントロールにアクセスできますが、右寄せにできるかどうかは不明です。
ぱっと見、HorizontalAlign等見つけられませんでしたので・・・。
NAL-6295
ぬし
会議室デビュー日: 2003/01/26
投稿数: 966
お住まい・勤務地: 東京
投稿日時: 2003-12-08 18:43
junya_s0さんがかかれているとおり、
e.item.findControl(コントロール名)
でアクセスし、

Control.Style.Add("TEXT-ALIGN", "right")

と書くとできると思います。

または、スタイルシートのプロパティウィンドウで設定するか、
適切なスタイルシートのクラスを作成して割り当てるといいと
思います。
ごん太
大ベテラン
会議室デビュー日: 2002/07/30
投稿数: 182
お住まい・勤務地: 森の中
投稿日時: 2003-12-09 17:19
みなさん返答ありがとうございます。

e.item.findcontrol("TextBox1")
はいけるのですが、
control.style.〜
と言う文が掛けないのですが・・・。
ControlStyle.AddAttributesToRender〜
とかでは無いですよね?
いろいろ試したのですが。。。
まゆりん
ぬし
会議室デビュー日: 2002/08/12
投稿数: 539
お住まい・勤務地: よこはま
投稿日時: 2003-12-09 17:37
こんにちは。

Dim ctlText As TextBox
ctlText = CType(e.Item.FindControl("Text_Box1"), TextBox)
ctlText.Style.Add("TEXT-ALIGN", "right")

で、出来ませんかね?
#未確認ですので間違っていたらゴメンナサイ。
NAL-6295
ぬし
会議室デビュー日: 2003/01/26
投稿数: 966
お住まい・勤務地: 東京
投稿日時: 2003-12-09 18:12
すいません。説明不足でした。

controlは取得したコントロールを使ってという意味で書いたつもりでした。
まゆりんさまの説明でうまくいくと思います。
ごん太
大ベテラン
会議室デビュー日: 2002/07/30
投稿数: 182
お住まい・勤務地: 森の中
投稿日時: 2003-12-11 14:33
まゆりんさんのを参考に出来ました。
みなさんどうもありがとうございました。
1

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