Привязка данных WinForms в C # на флажке необходима справка - PullRequest
0 голосов
/ 05 февраля 2019

Мой флажок не приводит к изменению источника привязки при установке.

У меня есть флажок, связанный с таблицей SQL (определенной как TinyInt), например:

        // 
        // overrideCheckBox
        // 
        this.overrideCheckBox.CausesValidation = false;
        this.overrideCheckBox.DataBindings.Add(new                   
           System.Windows.Forms.Binding("CheckState", this.ProcessingBindingSource, "rtoverride", true));
        this.overrideCheckBox.Location = new System.Drawing.Point(354, 378);
        this.overrideCheckBox.Name = "overrideCheckBox";
        this.overrideCheckBox.Size = new System.Drawing.Size(104, 24);
        this.overrideCheckBox.TabIndex = 70;
        this.overrideCheckBox.Text = "Override";
        this.overrideCheckBox.UseVisualStyleBackColor = true;
        this.overrideCheckBox.Visible = false;

Он определен как System.Byte в адаптере таблицы.

Я использую этот код для сохранения:

        this.ProcessingBindingSource.EndEdit();
        this.ProcessingTableAdapter.Update(rMSDataSet);
        myDataSet.AcceptChanges();

Все остальные поля сохраняются, кроме моего флажка.Я проверил свой источник привязки обратно к моей таблице, и все кажется правильным, кроме ProcessingBindingSource -> current row -> rtoverride не изменился, чтобы отразить новое значение флажка = 1.

Что-то не так, и япытаясь взломать это с помощью чего-то вроде этого:

      if (overrideCheckBox.Checked)
        {
           // in the ProcessingBindingSource at ProcessingBindingSource.Position change the value from 0 to 1
        }
        this.ProcessingBindingSource.EndEdit();
        this.ProcessingTableAdapter.Update(rMSDataSet);
        myDataSet.AcceptChanges();

Это не красиво и не лучший способ сделать это, но я должен это сделать, и я не могу понять синтаксис.

Любая помощь будет принята с благодарностью.

1 Ответ

0 голосов
/ 05 февраля 2019

Это было эпично и безобразно, так что вы можете использовать его:

База данных изменилась, и я удалил подфайлы набора данных и запустил пользовательский инструмент, но этого было недостаточно.Поэтому я удалил набор данных, отредактировал запрос в конструкторе наборов данных, заново сгенерировал команды Insert / Update / etc, снова удалил набор данных и запустил пользовательский инструмент.Это сработало.

Проблема заключалась в том, что новые столбцы не были сгенерированы генератором кода, и это было ключом к определению того, что будет дальше.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...