c#:Windows窗体:DatagridView:键入字符闪烁

时间:2017-07-25 04:49:43

标签: c# winforms datagridview

我的表单上有一个数据网格视图。用户可以根据需要添加任意数量的行。此datagridview包含5列。我在表单上有一个名为Save的按钮,我通过它循环遍历所有数据网格roes并将它们保存到数据库中。

数据源不是在设计时设置的,而是在运行时通过代码设置的。

但是,当用户在网格中输入时,字符显得非常缓慢。与用户的打字速度不匹配。至少需要几秒钟才能显示输入的字符。用户不希望这样,因为它不允许他立即验证键入的内容,而是需要几秒钟才能显示一个字符。

请帮助。

  

编辑1:

     

我在表单上绘制了一个Datagridview。此数据网格视图有一个   cellclick事件,用于检查条件并启用/禁用a   表格上的按钮。

 if (e.RowIndex >= 0)
                {
                    DataGridViewRow row = this.dgvPrep.Rows[e.RowIndex];
                    DataGridViewColumn column = this.dgvPrep.Columns[e.ColumnIndex];
                    if (row.Cells["PrepID"].Value != null && row.Cells["PrepID"].Value.ToString() != "0")
                    {
                        if (row.Cells["PrepID"].Value.ToString() != "0" && row.Cells["dgcvStatus"].Value.ToString() == "0")
                        {
                            if (Properties.Settings.Default.ExperimentMultipleEdit == true)
                            {
                               PageHDRBO objPageHDRBO = new PageHDRBO();
                                using (PageHDRBL HDRBL = new PageHDRBL())
                                {
                                    objPageHDRBO = HDRBL.GetPageBL(txtENo.Text);
                                }
                                if (objPageHDRBO.InEditing == OrganisationWide.IsOther_Y && objHDRBO.EditedBy == _empDO.EmployeeID)
                                {
                                    btnSend.Visible = true;
                                }
                                else if (objPageHDRBO.InEditing == OrganisationWide.IsOther_N && objPageHDRBO.EditedBy == null)
                                {
                                    btnSend.Visible = true;
                                }
                             }
                        }
                     }
                  }

HDRBL.GetPageBL(txtENo.Text);但是会导致数据库查询。

0 个答案:

没有答案