private void CopyPacketForm_Load(object sender, EventArgs e) { label2.Text += _listId; _orgTable = Org.CreateTable(); _orgTable.Columns.Add(ViewCol); _orgBS = new BindingSource(); _orgBS.DataSource = _orgTable; orgsComboBox.DataSource = _orgBS; orgsComboBox.ValueMember = Org.id; orgsComboBox.DisplayMember = ViewCol; if (_operator == null) { MainForm.ShowErrorMessage("Пользователь не найден", "Ошибка"); this.Close(); return; } string selectText; if (_operator.candeleteVal == 0) { selectText = Org.GetSelectCommandText(); } else { selectText = Org.GetSelectTextByOperator(_operator.idVal); } SQLiteDataAdapter adapter = new SQLiteDataAdapter(selectText, _connection); _orgTable.Rows.Clear(); adapter.Fill(_orgTable); foreach (DataRow rowItem in _orgTable.Rows) { rowItem[ViewCol] = string.Format("{0} {1}", rowItem[Org.regnum], rowItem[Org.name]); } _orgTable.AcceptChanges(); if (_orgBS.Count < 1) { copyButton.Enabled = false; } //TODO: this.SetPrivilege(); }
private void ReloadData() { int position = -1; if (_orgBS != null) { position = _orgBS.Position; } _orgTable = Org.CreateTable(); _orgTable.Columns.Add(ViewCol); _orgBS = new BindingSource(); _orgBS.DataSource = _orgTable; string selectText = _operator.candeleteVal == 0 ? Org.GetSelectCommandText() : Org.GetSelectTextByOperator(_operator.idVal); SQLiteDataAdapter adapter = new SQLiteDataAdapter(selectText, _mainConnection); adapter.Fill(_orgTable); foreach (DataRow rowItem in _orgTable.Rows) { rowItem[ViewCol] = string.Format("{0} {1}", rowItem[Org.regnum], rowItem[Org.name]); } _orgTable.AcceptChanges(); orgBox.DataSource = _orgBS; orgBox.DisplayMember = ViewCol; _orgBS.Position = position; SetPrivilege(); statusLabel.Text = _operator.nameVal; }
private void AnketaPersonOrgForm_Load(object sender, EventArgs e) { // инициализация таблицы организаций _orgTable = Org.CreateTable(); // добавление столбца для отметок (пометок) _orgTable.Columns.Add(Check, typeof(bool)); _orgTable.Columns[Check].DefaultValue = false; // определение бинда _orgBS = new BindingSource(); // привязка к источнику _orgBS.DataSource = _orgTable; // запрет на автогенерацию столбцов вьюшки this.orgView.AutoGenerateColumns = false; // привязка к источнику this.orgView.DataSource = _orgBS; this.orgView.Sorted += new EventHandler(orgView_Sorted); // если оператор определен и соединение определено if (_operator != null && _connection != null) { // определение адаптера для считывания записей с данными об организациях string selectcommand; // если оператор - Администратор, то выбрать команду для выбора всех имеющихся организациях if (_operator.IsAdmin()) { selectcommand = Org.GetSelectCommandText(); } else // иначе выбрать толькоте организации, к которым оператор имеет доступ для редактирования { selectcommand = Org.GetSelectTextByOperatorAccess(_operator.idVal); } // инизаализация адаптера SQLiteDataAdapter adapter = new SQLiteDataAdapter(selectcommand, _connection); // заполнение таблицы данными из БД adapter.Fill(_orgTable); // получение списка ID организаций, в которых числиться выбранная Персона (физическое лицо) long[] orgIDArray = PersonOrg.GetOrgID((long)_personRow[PersonView.id], _connection); // отметить из выбранных Организаций те, к которым привязана Персона foreach (long id in orgIDArray) { int i = _orgBS.Find(Org.id, id); if (i >= 0) { DataRowView tmpRow = _orgBS[i] as DataRowView; tmpRow[Check] = true; } } // принять изменения (отметки) _orgBS.EndEdit(); // выбрать организации в которых есть документы на человека _orgIds = Org.GetOrgsIdWithDocsForPerson((long)_personRow[PersonView.id], _connection); // сделать readOnly организации в которых есть документы DisableCheckBoxInView(); // выделить струку с текущей Организацией (усьановить задний фон) this.MarkCurOrgRow(); // отобразить на форме страховой номер и фио выбранной Персоны personDataLabel.Text = string.Format("{0} {1}", _personRow[PersonView.socNumber], _personRow[PersonView.fio]); } }