- PR -

WEBフォームのコントロールを作るには?

1
投稿者投稿内容
黒猫
会議室デビュー日: 2002/05/14
投稿数: 7
投稿日時: 2002-05-14 17:22
はじめまして、黒猫ともうします。

はじめての、投稿なのでここで質問すべき内容なのか定かでないのですが。.NETに関するスレなので、ここに記載したいとおもいます。(質問内容が違う会議室だったばあいは、申し訳ありません。)

さて、いまうちの会社では.NETのWEBフォームを利用したWEBアプリケーションをつくろうとしているのですが。そのなかで、「ツリーコントロールがシステム上必要なのだが、WEBフォーム用のコントロールにない。」ということが問題となり、結論として「C#で自作コントロールコンポーネントをつくる方向で検討してみよう。」とあいなり。その調査担当が、自分になってしまいました。そこで、MSDNのナレッジベース等をさがしてみているのですが。既存のWEBコントロール(ASPサーバーコントロール)を継承により拡張する方法はみつけたのですが。オリジナルのコントロールを作るスレはいまのところみつかってないのが現状です。(.NETにまだあまり詳しくないのと、自分の検索能力がひくいせいだとおもいますが(^^;)

そこで、どなたかWEBコントロールを作るヒントをお持ちの方がいればひとつご教示願います。

ちなみに、このコントロールを作るにあたって次の3つを考えてみました。
1.ACTIVEXでツリーコントロールをつくりそれを。WEBフォームにうめこむ。
2.WINDOWSコントロールから継承をかさねてWEBコントロールにしてしまう。
3.WEBコントロールの作り方を学んで、1から自分でつくる。
ここで、1は現在HP表示の際にいくつか問題がおこりエラーが生じることを、ナレッジベースで検索したので。「1はWEBフォームにはむかないかも。」とおもったことと、ACTIVEXをつかってしまうと、DLLのDLが必要になるため。「せっかくモバイルも利用対象になっている.NETのパワーがそがれてしまうのでは?」とおもい保留にしていて。2だと「仮になんらかのほうほうで、継承できWEBフォームで利用できても、WINDOWSコントロールの機能をそのままインプリメントすることになるから。重すぎてコントロールとして実用性がないかも。」と考え。
現在3の方法でWINDOWSコントロールのツリーよりも機能が落ちてもライトなコントロールをつくるのがよいのではとおもい。その方法を探っている次第です。

情報をおもちのかたがいたらよろしくお願いいたします。
いのつち
ベテラン
会議室デビュー日: 2002/05/14
投稿数: 73
投稿日時: 2002-05-14 21:33
まだ私はDLしただけで、実際に利用していませんが
下記URL(1行です)で、TreeViewのWebコントロールが入手できます。

http://msdn.microsoft.com/downloads/default.asp?url=/downloads/samples/internet/asp_dot_net_servercontrols/webcontrols_JPN/default.asp

WebコントロールとWindowsコントロールは全然仕組みが違いますので、
Windowsコントロールを継承しては無理です。
オリジナルのWebコントロールを作成されるのであれば、System.Web,UI.WebControlから
継承して作成されるのがベターかと。
黒猫
会議室デビュー日: 2002/05/14
投稿数: 7
投稿日時: 2002-05-15 01:05
いのつちさんありがとうございます。m(_ _)m

なんと、MSDNのサイトにおちていたとは・・・。さがしものが下手にもほどがありますね。
おはずかしい。←ここにカキコするまえに何度もいっているのに気がつかなかった。

とりあえず。IDEにインプリメントして適当にNODEをこさえて表示してみようとしたのですが。
まだよく使い方がわかってないようで。ノードが真っ白のコントロールしか表示されない状態ですが。ドキュメントもみつかったので。せっせとよんで利用してみようとおもいます。(たぶん、自分のことなんで絶対どっかでうっかりミスをしてるとおもいます。)

あと、WEBコントロールは、ブラウザで表示するとき各ブラウザにあったJAVASCRIPTに展開されるときいていたので。「あーこりゃー、継承関係がちがうだろうから。2はダメかなー?」とうすうすおもっていたのですが。やはりWINDOWSコントロールとWEBコントロールは別物なんですね。これも勉強になりました。ありがとうございました。
黒猫
会議室デビュー日: 2002/05/14
投稿数: 7
投稿日時: 2002-05-17 15:21
日本語版のWEBフォームのTREEVIEWの不具合について発見があったので。ご報告します。

自分は、日本語版のTREEVIEWをためしたのですが。単純にNODESプロパティにコレクションを追加しても。ツリーをなにも表示しませんでした。(BORDERSTYLEは有効のようで、枠はかけるんですけどデータがでてこないんです。)はじめは、なんかNODEプロパティ内のコレクションとTREEVIEW本体とを結びつける作業(旧VBのDIM SET xxx as nodeのような。)がいるのかとおもい必死でしらべてみたんですが。それらしいことはなかったので。ためしに、英語版のサイトにあるASP.NETのTREEVIEWのサンプルの<%Register%>文を日本版のTREEVIEWにおきかえたところおなじ現象がでたことや、DR.ADO.NETさんのおっしゃっていた英語版のTREEVIEWではおなじプログラムでコントロールをかえただけで正常動作したところをみるとこれが、不具合の一環のようです。←気が付くのがおそい?

DR.ADO.NETさん貴重な情報をありがとうございました。

ちなみに英語版で、日本語のNODE名は使えないかためしてみたのですが。文字化けすることなく日本語の表示も可能なようです。WEBフォームでTREEを利用する方は不具合の修正がおわるまで、英語版をDLしてご利用することをおすすめします
1

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