C # DataGridView с проблемой отображения DataSet - PullRequest
0 голосов
/ 06 июня 2011

У меня есть следующий код:

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();
}

Когда таймер выключается, я проверяю, что получил все данные, затем добавляю его в набор данных.Он добавляется в набор данных без проблем, просто каждый раз отображается в сетке данных.Иногда это работает, в большинстве случаев - нет.

Как получить обновление таблицы данных при обновлении набора данных?Я что-то не так делаю в приведенном выше коде?

Спасибо!(Еще раз)

1 Ответ

0 голосов
/ 07 июня 2011

Если вы создали набор данных и подключили его к DataGridView с помощью мастера настройки источника данных Visual Studio, то вам, вероятно, требуется вызов

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

где-то в вашем коде.Это то, что фактически загружает данные из DataSet в ваш DataGridView.Хотя повторный вызов этого метода не может быть «правильным» способом обновления вашего DGV, он сделал всю работу за меня.

...