- PR -

Webテーブルコントロール拡張の件

1
投稿者投稿内容
たなすぺ
常連さん
会議室デビュー日: 2003/06/23
投稿数: 35
投稿日時: 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>」と出力されるだけで
設定内容は保持されません。

上記現象につきまして、ご存知の方がいらっしゃいましたら、
ご教授の程、宜しくお願い致します。



壱丸3
常連さん
会議室デビュー日: 2004/09/13
投稿数: 34
投稿日時: 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

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