-1

「ASP.NET動的データLINQ to LINQアプリケーション」タイプのプロジェクトに取り組んでいます。

アプリケーションを実行すると、すべてのラベルと DropDownLists が動的にバインドされます。

このブログを参考にしています。

ここで、基準に基づいてこれらの DropDownList にデータを入力する必要があります。現在、その列のテーブルにあるすべてのレコードを入力しています。Mak名前を持つユーザーのみを選択するように、この DropDownList をカスタマイズするにはどうすればよいですか?

ドロップダウンに値が入力されたときに、ここでlinqクエリを作成する必要があると思いますか? わからない

protected void Page_Load(object sender, EventArgs e)
        {
            if (DropDownList1.Items.Count == 0)
            {
                if (Mode == DataBoundControlMode.Insert || !Column.IsRequired)
                {
                    DropDownList1.Items.Add(new ListItem("[Not Set]", ""));
                }
                PopulateListControl(DropDownList1);
            }

            SetUpValidator(RequiredFieldValidator1);
            SetUpValidator(DynamicValidator1);
        }

ここに画像の説明を入力

4

2 に答える 2

0

DropDownList動的データ サイトのコントロールでデータをカスタマイズするには、FilterUIHintAttributeデフォルト ( ) フィルターを置き換える (または新しいフィルターを追加する) ことができるクラス (メタデータ内) を使用する必要がありますbuilt-in filters templates

タイプの列に組み込みのフィルター テンプレートを使用して新しいフィルター テンプレートを実装する例を考えてみましょうBoolean(添付の図のように)。

タイプ ( SQL Server の場合) のWorkFlowsStatusを持つテーブルがあり、コントロールに値のみを持たせたいとします (デフォルトでは、列が null 値を許可する場合、ユーザーはすべて、True、False、 および[Not Set]からフィルター値を選択できます)。 )。BooleanbitDropDownListfalse

まず、組み込みのフィルター テンプレートをコピーしBoolean.ascx(ディレクトリにあります~\DynamicData\Filters)、同じディレクトリに貼り付けます。次に、新しいフィルターの名前を に変更しStatusBoolean.ascxます。

次に、分離コードを編集StatusBoolean.ascxして行を削除できます

DropDownList1.Items.Add(new ListItem("True", Boolean.TrueString));

次に、WorkFlowsエンティティのメタデータを変更する必要があります。

[FilterUIHint("StatusBoolean")]
public bool Status { get; set; }

それで全部です。

詳細については、FilterUIHintAttribute クラスを参照してください。

Metadata に基づいて Drop Down リストに自動的にデータを入力する ASP.NET Dynamic Data の投稿もご覧ください。

于 2013-05-13T10:20:07.980 に答える
-1

バインドしているデータ型は、null 許容の bool (bool?) であると想定しています。DataSource プロパティを割り当てるときは、 を使用できますmyObjects.Where( o => o.TheNullableBool.HasValue )

于 2012-09-14T17:03:53.537 に答える