- - PR -
取得した文字列をコントロール名として利用したいのですが
1
投稿者 | 投稿内容 | ||||
---|---|---|---|---|---|
|
投稿日時: 2008-09-23 04:07
いつもお世話になります。
vb2008.netでコーディングしていて困っております。 テーブルから取得した文字列をコントロール名として利用し、それを制御したいのですが、やりかたがわからず無理やりコーディングしたもののエラーとなってしまいます。 実現したい機能は以下となります。 1.画面を操作する権限管理のための「ロールマスタ」テーブルにて、メニュー画面に配置しているボタンのコントロール名と表示フラグを保持している。 2.「ロールマスタ」テーブルを読み込み、非表示となっているボタンはメニューに表示させない。 以下が実際の試行錯誤コーディングとなります。 Dim cmd As New OracleCommand Dim rd As OracleDataReader cmd.Connection = OraDatabase2 cmd.CommandText = sql rd = cmd.ExecuteReader Do While rd.Read() If rd("hyouji_kbn") = "0" Then CType(Me.Controls(rd("button_id")), Object).Visible = False Else CType(Me.Controls(rd("button_id")), Object).Visible = True End If Loop ↑rd("***")はOracleODP.netのデータリーダの結果となります。 どなたかご教示願えますでしょうか。 よろしくお願いいたします。 | ||||
|
投稿日時: 2008-09-23 07:03
ここにやり方が載っています。
http://www.atmarkit.co.jp/fdotnet/dotnettips/479ctrlfind/ctrlfind.html | ||||
|
投稿日時: 2008-09-23 13:20
本題とは関係ないですが、この CType に意味はありますか? _________________ C# と VB.NET の入門サイト じゃんぬねっと日誌 | ||||
|
投稿日時: 2008-09-27 01:20
じゃんぬねっとさん、otfさん、ありがとうございました。
早い回答をいただいていたのに今まで返事できなくて大変失礼いたしました。 otfさんよりいただいたリンクより解決できました。 じゃんぬねっとさんからはよく厳しい指摘を受けているように思います・・・汗。 前任者のソースコードを流用しているので今回もあまり考えはありません・・・。 自分の姿勢を見直さなくてはならないとは思いながらも仕事の消化を追及してしまうのはよろしくないとは自覚しております。 いつもの事ながら皆様本当にありがとうございました。 |
1