4

でチェックボックスリストをバインドする簡単な方法が必要asp.net /C#です。

データベース ID、名前、IsActive から 3 つの列を取得しています。Id と Name は、その名前で明確になると思います。また、IsActive を使用して、チェック ボックスと非チェック ボックスを表示します。知りたいのですが、データ バインド中に子チェック ボックスの値を IsActive にバインドできますか?

例えば

cbxlFeatures.DataSource = dt;
cbxlFeatures.DataValueField = "Id";
cbxlFeatures.DataTextField = "Name"; // something similar to this
cbxlFeatures.SomePropert= "IsActive";
cbxlFeatures.DataBind();

アイテムとデータ列を繰り返し処理し、比較してチェックを入れる従来の方法を知っています。簡単で最適化された方法が必要です...

ありがとう

4

2 に答える 2

5

代わりに、チェックボックスリストを手動で入力してみてください。以下のコードでうまくいくと思います。

private void PopulateCheckBoxList( List<MyClass> myClassList )
{
    foreach ( MyClass m in myClassList )
    {
        ListItem item = new ListItem( m.Name, m.Id.ToString() );
        item.Selected = m.IsActive;
        cbxlFeatures.Items.Add( item );
    }
}
于 2012-08-02T16:05:41.990 に答える
1

残念ながら、CheckBoxList のプロパティでこれを行う方法はないと思います。アイテムを繰り返すことが解決策のようです。

于 2012-08-02T10:03:39.187 に答える