我有WPF和Windows Forms的经验,但是只使用Windows Forms DataGridView而不是WPF DataGrid(仅包含在.Net 4中,或者可以从Codeplex添加到.Net 3.5中).我即将使用这些控件中的一个大量使用大量数据,并且读取性能是WPF DataGrid的一个问题,所以我可能会坚持Windows窗体DataGridView ..这是这种情况吗?

我不想使用第三方控制.

Windows Forms DataGridView是否为WPF DataGrid提供了大量数据的显着性能?

如果我使用WPF,我更喜欢使用.Net 3.5S SP1,除非.Net 4中的DataGrid显着更好?

此外,我想使用ADO与DataTable,我觉得更适合Windows窗体..

为了满足您的需求,除非您有其他要求可以引导您进入WPF,否则我会推荐使用WinForms DataGridView.

WPF DataGrid是通过Codeplex提供的,作为“带外”版本,即这些控制将最终进入WPF API,但是早期在codeplex上发布,以便我们可以在下一个主要的.NET发行.您可以使用.NET 4.0或Codeplex DataGrid.据我所知,他们是一样的. WPF DataGrid与DataTables相当不错.请参阅我的下列文章中的示例:

http://www.codeproject.com/KB/WPF/WPFDataGridExamples.aspx

但是,WPF框架和视觉效果比WinForms稍微重量级.此外,WinForms DataGridView非常成熟.

对于非常大的数据集,WinForms DataGridView具有WPF DataGrid中不存在的一个功能,这对于非常大的网格(数百万行)至关重要,这是一种虚拟模式:

http://msdn.microsoft.com/en-us/library/ms171622.aspx

也被称为数据虚拟化.在这种模式下,您告诉网格数据中有多少行,然后处理事件以填充单元格.这个比例很好.我已经使用这个大规模和复杂的网格.

WPF具有UI虚拟化,这是UI控制回收的一种形式,但不是数据虚拟化.

希望有帮助.

WPF DataGrid与Windows窗体DataGridView的更多相关文章

  1. WPF listview / gridview性能可怕,建议

    解决方法检查这些属性:

  2. 在WPF中ListView和GridView有什么区别?

    我正在尝试创建一个WPF数据库应用程序.我可以使用一些好的组件来显示数据库表中的数据.ListView和GridView似乎很受欢迎.但对于新手来说,很难看出它们之间的区别.ListView和GridView有什么区别?优缺点都有什么?

  3. easy ui datagrid 从编辑框中获取值的方法

    下面小编就为大家带来一篇easy ui datagrid 从编辑框中获取值的方法。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧

  4. jQuery EasyUI编辑DataGrid用combobox实现多级联动

    本文给大家分享jQuery EasyUI编辑DataGrid用combobox实现多级联动效果的实例代码,代码简单易懂,非常不错,具有参考借鉴价值,感兴趣的朋友一起看看吧

  5. easyui datagrid 大数据加载效率慢,优化解决方法(推荐)

    下面小编就为大家带来一篇easyui datagrid 大数据加载效率慢,优化解决方法(推荐)。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧

  6. Easyui Datagrid自定义按钮列(最后面的操作列)

    做项目的时候因为需求,要在表格的最后添加一列操作列,easyUI貌似没有提供这种功能,下面我们来自定义按钮列,具体实现代码,大家参考下本文吧

  7. PHP – EasyUI DataGrid 资料取的方式介绍

    EasyUI DataGrid 是一个用 Jquery 写的 DataGrid,由此可知,是一个 前端 Web UI 技术;当要对该 DataGrid 操作时,在传递参数到后端,重新产生整各网页

  8. EasyUI的DataGrid每行数据添加操作按钮的实现代码

    今天做项目的时候,想在easyui的datagrid每一列数据后边都加上一个操作按钮,怎么实现此功能呢?下面小编给大家带来了EasyUI的DataGrid每行数据添加操作按钮的实现代码,需要的朋友参考下吧

  9. jQuery easyUI datagrid 增加求和统计行的实现代码

    下面小编就为大家带来一篇jQuery easyUI datagrid 增加求和统计行的实现代码。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧

  10. jquery Easyui Datagrid实现批量操作(编辑,删除,添加)

    本篇文章主要介绍了jquery Easyui Datagrid实现批量操作(编辑,删除,添加),小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧

随机推荐

  1. static – 在页面之间共享数据的最佳实践

    我想知道在UWP的页面之间发送像’selectedItem’等变量的最佳做法是什么?创建一个每个页面都知道的静态全局变量类是一个好主意吗?

  2. .net – 为Windows窗体控件提供百分比宽度/高度

    WindowsForm开发的新手,但在Web开发方面经验丰富.有没有办法为Windows窗体控件指定百分比宽度/高度,以便在用户调整窗口大小时扩展/缩小?当窗口调整大小时,可以编写代码来改变控件的宽度/高度,但我希望有更好的方法,比如在HTML/CSS中.在那儿?

  3. 使用Windows Azure查询表存储数据

    我需要使用特定帐户吗?>将应用程序部署到Azure服务后,如何查询数据?GoogleAppEngine有一个数据查看器/查询工具,Azure有类似的东西吗?>您可以看到的sqlExpressintance仅在开发结构中,并且一旦您表示没有等效,所以请小心使用它.>您可以尝试使用Linqpad查询表格.看看JamieThomson的thispost.

  4. windows – SetupDiGetClassDevs是否与文档中的设备实例ID一起使用?

    有没有更好的方法可以使用DBT_DEVICEARRIVAL事件中的数据获取设备的更多信息?您似乎必须指定DIGCF_ALLCLASSES标志以查找与给定设备实例ID匹配的所有类,或者指定ClassGuid并使用DIGCF_DEFAULT标志.这对我有用:带输出:

  5. Windows Live ID是OpenID提供商吗?

    不,WindowsLiveID不是OpenID提供商.他们使用专有协议.自从他们的“测试版”期结束以来,他们从未宣布计划继续它.

  6. 如果我在代码中进行了更改,是否需要重新安装Windows服务?

    我写了一个Windows服务并安装它.现在我对代码进行了一些更改并重新构建了解决方案.我还应该重新安装服务吗?不,只需停止它,替换文件,然后重新启动它.

  7. 带有双引号的字符串回显使用Windows批处理输出文件

    我正在尝试使用Windows批处理文件重写配置文件.我循环遍历文件的行并查找我想要用指定的新行替换的行.我有一个’函数’将行写入文件问题是%Text%是一个嵌入双引号的字符串.然后失败了.可能还有其他角色也会导致失败.如何才能使用配置文件中的所有文本?尝试将所有“在文本中替换为^”.^是转义字符,因此“将被视为常规字符你可以尝试以下方法:其他可能导致错误的字符是:

  8. .net – 将控制台应用程序转换为服务?

    我正在寻找不同的优势/劣势,将我们长期使用的控制台应用程序转换为Windows服务.我们为ActiveMQ使用了一个叫做java服务包装器的东西,我相信人们告诉我你可以用它包装任何东西.这并不是说你应该用它包装任何东西;我们遇到了这个问题.控制台应用程序是一个.NET控制台应用程序,默认情况下会将大量信息记录到控制台,尽管这是可配置的.任何推荐?我们应该在VisualStudio中将其重建为服务吗?我使用“-install”/“-uninstall”开关执行此操作.例如,seehere.

  9. windows – 捕获外部程序的STDOUT和STDERR *同时*它正在执行(Ruby)

    哦,我在Windows上:-(实际上,它比我想象的要简单,这看起来很完美:…是的,它适用于Windows!

  10. windows – 当我试图批量打印变量时,为什么我得到“Echo is on”

    我想要执行一个简单的批处理文件脚本:当我在XP中运行时,它给了我预期的输出,但是当我在Vista或Windows7中运行它时,我在尝试打印值时得到“EchoisOn”.以下是程序的输出:摆脱集合表达式中的空格.等号(=)的两侧可以并且应该没有空格BTW:我通常在@echo关闭的情况下启动所有批处理文件,并以@echo结束它们,所以我可以避免将代码与批处理文件的输出混合.它只是使您的批处理文件输出更好,更清洁.

返回
顶部