- - PR -
ImageButtonコントロールのWidthをIntegerに変換する方法。
投稿者 | 投稿内容 | ||||||||
---|---|---|---|---|---|---|---|---|---|
|
投稿日時: 2007-03-18 17:41
久しぶりに投稿させていただきます。
皆様よろしくお願いいたします。 現在GridView内のImageコントロールにバインドされたImageのWidthを取得し、 一定以上であれば縮小したいと考え、PageRoad時に次のような処理をしたのですが、 WidthがUnit型のためうまくいかないらしく、処理に困っています。 For Each r As TableRow In GridView.Rows For Each tc As TableCell In r.Cells For Each c As Control In tc.Controls If TypeOf c Is ImageButton Then Dim wid As Unit = CType(c, ImageButton).Width If wid > 100 Then // ここがうまくいきません CType(c, ImageButton).Width = 100 End If End If Next Next Next Unit型をIntegerに変換すればうまくいくのではと考え色々と調べたのですが 見つからなかったので投稿させていただきました。 そのほかにも何か良い方法などあれば教えていただければ幸いです。 よろしくお願いいたします。 _________________ [ メッセージ編集済み 編集者: hoshino 編集日時 2007-03-18 17:42 ] [ メッセージ編集済み 編集者: hoshino 編集日時 2007-03-18 17:42 ] [ メッセージ編集済み 編集者: hoshino 編集日時 2007-03-18 17:42 ] | ||||||||
|
投稿日時: 2007-03-18 18:15
を
とすると良いと思います。 試してませんが。 | ||||||||
|
投稿日時: 2007-03-18 18:30
NAL-6295様、お返事ありがとうございます。
さっそく試したところ、無事デバックは通ったものの、 先ほど私が書きました処理ですと、どうもバインドする前のWidthを取得しているのか、 ページが表示された時にはImageのWidthに変化がありませんでした。 ようはGridViewにバインドされる画像の中で、大きすぎるものを事前に縮小して表示させたいのですが。 なにか良い方法があればご教授いただけるでしょうか? | ||||||||
|
投稿日時: 2007-03-18 23:17
デバッグして、widに想定される値(100より大きい値)が入っていますか? | ||||||||
|
投稿日時: 2007-03-19 00:00
NAL-6295です。
Page_load時ではなく、各行をバインドする時に行うと良いです。 もっと言うと、Page_load時はサイズを小さくしたいコントロール自体が生成されていないでしょう。 [ メッセージ編集済み 編集者: NAL-6295 編集日時 2007-03-19 00:01 ] | ||||||||
|
投稿日時: 2007-03-19 00:16
べる様、ご指摘ありがとうございます。
すみません間違えていました。 実際にはImageButtonを使用しております。 ImageButtonのWidthはautoに設定しております。 そこへ先ほどの処理をPageLoad時に設定したページに、 Widthが100を超える画像(200px)をバインドさせた結果、 やはり200pxのまま出てきてしまいます。 なにか良い方法や、ご指摘等ございましたらよろしくお願いいたします。 | ||||||||
|
投稿日時: 2007-03-19 01:25
いずれにしてもImageButtonのWidthと100を比較しても意味がないですよね? そもそもwidthの情報はどうやって取得しているのですか?(DBに入ってるとか) 取得していないなら、画像そのもののwidthを取得する必要がありますよね。 | ||||||||
|
投稿日時: 2007-03-19 02:14
お返事ありがとうございます。
初心者なものでとんでもないことを言って申し訳ございません。 べる様のご意見をお聞きしますところ、私がやるべきことは 画像そのもののwidthを取得することだったようです。 バインド後のImageButtonのWidthは画像のWidthに反映された値となっていると勘違いし、画像のWidth=ImageButtonのWidthという勝手な想像をしてしまっていました。 自分でも調べてみますが、画像そのもののwidthを取得する方法ごございましたら、 お教えいただければ幸いです。 色々聞いてしまって申し訳ございません。 |