含まれている DataItem のプロパティに基づいて項目をフィルター処理する asp:ListView があります。
指定したプロパティ (FieldName) に探している値がない限り、アイテムを非表示に設定したいと考えています。
protected override void ItemCreated(object sender, ListViewItemEventArgs e)
{
if (DataBinder.Eval(e.Item.DataItem, FieldName).ToString() != FieldValue)
{
e.Item.Visible = SetVisible;
}
}
しかし、ポストバックでは、DataItem が null であり、以前の状態を復元できません。私の期待は、Listview が可視プロパティを Viewstate に保持できるということでしたが、そうではありません。Listview.Databind を呼び出すこともできますが、リストビューはチェックボックスでアイテムを選択するために使用され、この選択はデータバインドで失われます。
データバインド後にアイテムの可視性を最初の状態に戻すにはどうすればよいですか?