- - PR -
Webテーブルコントロール拡張の件
1
投稿者 | 投稿内容 |
---|---|
|
投稿日時: 2005-03-18 10:39
毎々大変お世話になっております。
題記の件、ご質問させて頂きます。 現在、Webコントロールのテーブルを拡張したコントロールを 作成しております。 実現内容としては以下の通りです。 ======================================================== Webコントロールのテーブル・ DataGridを内包したコントロールを作成したい。 ======================================================== この際、WebControlを継承したクラスを作成し、 上記カスタムコントロールの作成を行っております。 System.Web.UI.WebControls.Tableクラスには様々なプロパティが 容易されているため、これらを有効に使用したい。 そのため、当カスタムコントロールではテーブルクラスを プロパティとして開放する。 具体例としては下記の通りです。 ※下記例はDataGridについては割愛させて頂いています。 ========================================================= [Designer("UICustomIchiranControlDesigner,Hsl.WebControls")] public class CustomIchiranControl: WebControl { public Table Table1 { get {return _table1;} set {_table1 = value;} } } public class UICustomIchiranControlDesigner :System.Web.UI.Design.ControlDesigner { public override string GetDesignTimeHtml() { StringWriter sw = new StringWriter(); HtmlTextWriter tw = new HtmlTextWriter(sw); System.Web.UI.WebControls.Table _table1 = _CustomIchiranControl.Table1; _table1.RenderControl(tw); return sw.ToString(); } } ========================================================= そこで、ご質問させて頂きます。 上記ではIDE上Tableコントロールのプロパティが全て 開放されています。 しかし、Rowコレクションの設定を行い、テーブルの表示列・行を指定しても IDE上のHTMLには何も反映されません。 確認事項(1) GetDesignTimeHtmlメソッドの中で デバッグ用としてRowコレクションの件数を出力すると 指定した件数が保持されています。 また、IDE上でTableRowsコレクションエディタで確認しても 設定内容は保持されています。 確認事項(2) System.Windows.Forms.MessageBox.Show(tw.InnerWriter.ToString());と 記述し、出力されるHTMLを確認すると、 「<table border="0"></table>」と出力されるだけで 設定内容は保持されません。 上記現象につきまして、ご存知の方がいらっしゃいましたら、 ご教授の程、宜しくお願い致します。 |
|
投稿日時: 2005-03-18 11:51
何をしようとされているのか、
いまいちイメージが湧かないのですが。。^^; 提示されているソースから読み取れるのは、 ・CustomIchiranControlクラスはあるTableコントロールへの参照を持つことができる。 ・CustomIchiranControlクラスはデザイン時に自分自身を表現するHTMLとして 参照しているTableコントロールが生成するHTMLを使用する。 ぐらいですね。 ソースがかなり端折られているような気がするので、 もう少し提示していただけるとありがたいのですが。 ところで http://www.atmarkit.co.jp/bbs/phpBB/viewtopic.php?topic=19343&forum=7 は解決されましたか? [ メッセージ編集済み 編集者: 壱丸3 編集日時 2005-03-18 11:53 ] |
1