0

ASP.NET3.5ツリービューとツリーノードについて質問があります。マルチステートチェックボックスをサポートするTreeivewを構築したいと思います。私は実際に4つの状態を望んでいます-チェック済み、チェックなし、不確定(トライステートボックスのように-すべての子がチェックされていない場合、親はトライステートです)およびNotAppicable(このチェックボックスはXでグレー表示されます)。Webユーザーコントロール(.ascx)を使用してカスタムユーザーコントロールを追加する方法を読みましたが、TreeNodeとTreeViewをオーバーライドする方法では機能しないようです。静的データを.xmlファイルで表示していますが、ツリービューをデータソースにバインドする機能が本当に気に入っています。ですから、できればツリーを使い続けたいと思います。

だから私はいくつか質問があると思います:

  1. ツリービューまたはツリーノードをオーバーライドして、Webフォームに追加するにはどうすればよいですか?(それで、まだデザイナーを使用できますか?)それらを.dllにビルドして、そのようにロードする必要がありますか?または、プロジェクトに.csファイルを追加できますか?

  2. チェックステートを処理するようにtreeNodeを変更する方法について誰かがアイデアを持っていますか?

  3. さまざまなチェック状態にカスタム画像を使用する方法についてのアイデアはありますか?

ありがとう!

4

1 に答える 1

1

最初の質問への回答があります - ツリービューまたはツリーノードをオーバーライドして Web フォームに追加するにはどうすればよいですか? (つまり、まだデザイナーを使用できますか?) それらを .dll にビルドして、そのようにロードする必要がありますか? または、プロジェクトに .cs ファイルを追加できますか?

誰もがこれを行う方法を知っているかもしれませんが、それは私にとってニュースでした. 名前空間の App_Code フォルダーに拡張クラスを追加します。

namespace MyWebsiteControls
{
   ...
}

次に、その名前空間への参照を web.config ファイルの下に含めます。

<pages/>
    <controls>
        <add tagPrefix="asp" namespace="System.Web.UI" assembly="System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/>
        <add tagPrefix="asp" namespace="System.Web.UI.WebControls" assembly="System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/>
        <add namespace="MyWebsiteControls" tagPrefix="MyWebsiteControls"/>
    </controls>
</pages>"

次に、.aspx ファイルでコントロールを呼び出します。

<MyWebsiteControls:XTreeView ID="TreeView1" runat="server" DataSourceID="Checklist"
    ShowCheckBoxes="All" CssClass="treeViewStyle">
</MyWebsiteControls:XTreeView>
于 2010-01-06T21:48:54.057 に答える