带有数据集显示问题的C#DataGridView

本文关键字:C#DataGridView 问题 显示 数据集 | 更新日期: 2023-09-27 17:58:27

我有以下代码:

private void Timer1Tick(object sender, EventArgs e)
{
  timer_ScanTimer.Enabled = false;
  var psc = new ParseScannedCheckNumbers();
  if (psc.ParseCheck(_checkData))
  {
    label_Status.Text = @"Scan Next Check";
    var ct = checkTrans.IndividualCheck.NewIndividualCheckRow();
    ct.Date = DateTime.Now.ToShortDateString();
    var bracct = GetBranchAccountNumber(psc.BankAccountNumber);
    if (bracct.Trim().Length == 7)
    {
      ct.Branch = bracct.Substring(0, 2);
      ct.AccountNumber = bracct.Substring(2, 5);
      ct.NameOnCheck = GetAccountName(ct.Branch + ct.AccountNumber);
      ct.AccountBalance = GetAccountBalance(ct.Branch + ct.AccountNumber);
    }
    else
    {
      ct.Branch = Configuration.Branch;
      ct.AccountNumber = string.Empty;
      ct.NameOnCheck = string.Empty;
      ct.AccountBalance = 0;
    }
    ct.CheckAmount = 0;
    ct.BankRoutingNumber = psc.BankRoutingNumber;
    ct.BankAccountNumber = psc.BankAccountNumber;
    ct.CheckNumber = psc.CheckNumber;
    ct.Status = "Entered";
    checkTrans.IndividualCheck.Rows.Add(ct);
  }
  else
  {
    label_Status.Text = Resources.ScanCheck_ScanFailed;
  }
  _checkData = string.Empty;
  var rs = new RegistrySettings();
  if (!rs.ScanChecksContinuous)
  {
    StopScanning();
    label_Status.Text = Resources.ScanCheck_Success;
    EditLastRowEntered();
  }
  label_ChecksScanned.Text = (dgv_Checks.RowCount - 1).ToString();
}

当计时器关闭时,我验证我已经收到了所有数据,然后将其添加到数据集中。它被毫无问题地添加到数据集中,只是每次都能在datagridview上看到。有时它有效,但大多数时候无效。

当对数据集进行更改时,如何更新datagridview?我在上面的代码中做错了什么吗?

谢谢!(再次)

带有数据集显示问题的C#DataGridView

如果您使用Visual Studio数据源配置向导创建了数据集并将其附加到DataGridView,那么您可能会调用

this.somethingTableAdapter.Fill(this.yourDataSet.someDataTable);

代码中的某个位置。这就是实际将数据从DataSet加载到DataGridView中的内容。虽然再次调用此方法可能不是刷新DGV的"正确"方式,但它为我完成了任务。