我有一个列表需要绑定到我从API获取的List。该列表如下所示:
struct DataItem { int level; string name; Guid key };
List<DataItem> myList = API.GetList();
ListView1.DataSource = myList;
ListView1.DataBind();
这一切都可以正常显示。但是,该表必须编辑级别值。我不确定如何实现这一目标。我已经在listView上尝试过事件处理程序,但它们从未被调用过。我已经尝试了一个用于level字段的文本框(包含Bind和Eval)和一个事件处理程序OnTextChanged,但是从不调用事件处理程序。 (我尝试过启用AutoPostBack和ViewState的各种组合。)
我如何以编程方式编辑此数据结构?
答案 0 :(得分:0)
你试图在这里实现的双向数据绑定将不会像这样工作 - List没有实现INotifyPropertyChanged(如果我错了,有人会纠正我)。
您可以考虑使用普通的旧DataTable,它可以是开箱即用的双向绑定。如果性能不是一个非常关键的问题,那么将List转换为DataTable(以及返回,取决于您想要对修改后的数据执行的操作)非常简单,而不是苦于使用列表类型的自定义实现。