【发布时间】:2012-11-22 20:27:24
【问题描述】:
我有一个名为 frmTransaction 的表单,它有 txtTranNo、txtCustCode、dtbDate、txtRemarks、txtTotalAmount,还有一个名为 dtgDetail 的数据网格视图。
在 dtgDetail 中,我有 cTranNo、nLineID、cProductID、nQty、nPrice 和 nAmount 列。
cProductID 是一个组合框列,它有一个数据成员 cProduct 和一个显示成员 cDescription,因此当它运行时,用户将看到产品名称而不是产品代码。
但是我的产品有 2000 条记录,当我加载表单时速度很慢。将其保存/提交到我的数据库时也很慢。
我认为 cProduct 列与我的表单速度有关。这是真的?如何加快速度?
编辑
我可以展示代码,但如果我只是解释我的代码是如何工作的,它就不会那么混乱了。在我的设计时,我的 datagridview 有空列。 datagridview 的名称也是将要绑定的表的名称,当我运行它时,它会创建它的列,该列会根据表的模式自动绑定。我还有一个标志,告诉程序该字段是组合框列还是纯文本框。如果它是一个组合框列,它将生成一个 sql 脚本,并运行并将结果保存到一个数据表中,该数据表将作为组合框的数据源。组合框列的数据成员和显示成员也是由标志决定的。
建议我不要在我的脚本中为我的组合框列的数据源设置任何条件。
编辑 - 12-05-12 我尝试在将我的 sql 数据源绑定到 datagridview 组合框列时对其进行过滤……我会说我有助于加快我的表单速度。我现在的问题是当我在我的 datagridview 中添加不包含在组合框中的新记录时。例如,我将把这个脚本绑定到我的datagridview,“select ID,Desc from product where ID in (1,2,3,4,5)”。当我在 ID = 6 的 datagridview 中插入新记录/项目/产品时,它不会显示描述 数据网格视图...
【问题讨论】:
-
您应该提供显示您如何绑定数据的代码。您可能过于频繁地调用绑定 DataGridView。
-
我对 datagridview 做了一些广泛的工作,我发现有时优化 sql 表会有所帮助:你的表是什么样的?
-
您是否隔离了问题是在 UI 中还是在数据库中?捕获 SQL 查询并直接在数据库中运行 - 快还是慢?按 F12 打开开发者工具(在大多数浏览器中)。转到分析选项卡,开始分析,然后让事情发挥作用。停止分析。时间都花在哪里了?在渲染代码还是等待数据库?
-
组合框是否已预先填充,或者您是否正在为每条记录填充它?如果你每次都填充它会导致速度的极大提高
标签: sql-server vb.net datagridview datagridviewcombobox