我最近决定使用DevExpress在VB .net中重新开发一个访问VBA应用程序。
我已经设法找出原始表的数据绑定。但是,我正在努力解决这些问题。
我已经尝试过查询构建器,但我没有选择保存它们并将对象绑定到它。我认为它是这样工作的?正如访问中所做的那样?或者那里的查询构建器只是为了帮助您格式化SQL文本?
我试图将DataGrid绑定到一个简单的连接查询而没有任何运气。
你能指点我正确的方向吗?
感谢。
答案 0 :(得分:0)
我能想到两种主要方法。一种是使用数据表,另一种是使用域对象。
数据表可以快速编写,可以轻松处理大部分繁重的工作(包括CRUD操作),并且具有相当的可扩展性,因为可以相对轻松地处理对底层对象的更改。
DataTable dt = new DataTable();
域对象(又名POCO)需要大量的前期工作,但通常在日志运行中可以提供更加安全可靠的解决方案。此外,如果您选择使用它们,还有框架,甚至是微型ORM,它们将为您完成大部分繁重工作。
List<DomainObject> do = new List<DomainObject>();
这些可用于表,视图或查询。你提到你已经找到了一张桌子,所以我猜你已经有了这么远。
所以,第一步 - 找出你想去的方向。 (选择域对象)
第二步 - 我建议使用绑定源(System.Windows.Forms.BindingSource)。使数据表/集合成为绑定源的DataSource
。
第三步,使绑定源成为网格的数据源。如果您使用的是域对象,则会自动填充列。
从那里,一旦填充了数据表或集合,就可以将其指定为绑定源的数据源,.NET和Dev Express将为您处理剩下的工作。
bindingSource1.DataSource = dt;
或
bindingSource1.DataSource = do;
现在,如果您正在谈论CRUD操作 - 这是一匹不同颜色的马。你仍然使用它们作为构建块,但这绝不是一个全面的答案。
顺便说一句,上面的代码是C#,所以你需要进行一些小调整才能得到VB。我不会说VB,否则我就是这样开始的。