/////////////////////////////////////////////////////////////////////////////// // Public methods // /////////////////////////////////////////////////////////////////////////////// #region PUBLICMETHODS /// <summary> /// This method sends the valid values from the given <see cref="ToolStripComboBox"/>es /// to the <see cref="Document"/>s <see cref="Document.SelectionState"/>. /// </summary> protected void UpdateDocumentSelectionState() { string subjectEntry = this.subjectCombo.Text; SequencedTrial trial = (SequencedTrial)this.trialCombo.SelectedItem; Document.ActiveDocument.SelectionState.Update(subjectEntry, trial.TrialID, trial.SequenceNumber, null); }
/// <summary> /// Reads trial list for given subject and writes /// custom dropdownlist entrys in the form /// TrialNumber # TrialID /// </summary> protected void UpdateTrialDropdown() { this.trialCombo.Items.Clear(); DataTable table = Document.ActiveDocument.DocDataSet.TrialsAdapter.GetDataBySubject(this.subjectCombo.Text); SequencedTrial?itemToSelect = null; if (table.Rows.Count >= 1) { foreach (DataRow row in table.Rows) { int trialSequence = (int)row["TrialSequence"]; int trialID = (int)row["TrialID"]; string trialName = row["TrialName"].ToString(); SequencedTrial newEntry = new SequencedTrial(); newEntry.SequenceNumber = trialSequence; newEntry.TrialID = trialID; newEntry.TrialName = trialName; if (Document.ActiveDocument.SelectionState.TrialID != 0) { if (Document.ActiveDocument.SelectionState.TrialID == trialID) { itemToSelect = newEntry; Document.ActiveDocument.SelectionState.Update(string.Empty, null, trialSequence, null); } } this.trialCombo.Items.Add(newEntry); } this.trialCombo.Sorted = true; } if (itemToSelect.HasValue) { if (this.trialCombo.Items.Count > 0) { this.trialCombo.SelectedItem = itemToSelect; } } else if (this.trialCombo.Items.Count > 0) { this.trialCombo.SelectedIndex = 0; this.UpdateDocumentSelectionState(); } }