今天给我们家做账本程序的时候,遇到一个数据绑定的问题。
如果用DataView 在 Using 的范围内获取数据,无法作为数据源绑定到控件。
具体代码:
                using (DataView dv = _myAccess.ExecuteDataView(CommandType.Text, strCommandText))
                {
                    combo.DataSource = dv;     
                    combo.DisplayMember = strDisplay;
                }
这样发现DateView可以取出数据,绑定到控件也有数据,但是页面中下拉框上无数据。

但是用DataSet 就可以:
                using (DataSet ds = _myAccess.ExecuteDataSet(CommandType.Text, strCommandText))
                {
                    combo.DataSource = ds.Tables[0].DefaultView;
                    combo.DisplayMember = strDisplay;
                }
或者不用 using ,DataView也有效
                DataView dv = _myAccess.ExecuteDataView(CommandType.Text, strCommandText);
                combo.DataSource = dv;
                combo.DisplayMember = strDisplay;

原来DataView在Using作用范围外,会及时销毁,居然连绑定到控件的数据就会消失。

还有很多不明白的地方,请大家指教。
1. 为什么绑定好的数据会消失?
2. Using的作用域外到底销毁的是什么?