public AddStandartRowForm(FormType ftype, string tag, StandartRow data, long key) { InitializeComponent(); switch (ftype) { case FormType.ADDFORM: this.Text = "Добавление записи в таблицу"; break; case FormType.EDITFORM: this.Text = "Редактирование записи"; break; } TableTag = tag; FType = ftype; Key = key; InitializeData(); LoadDataToControls(data); }
public static DatabaseLib.ParametersCollection ConvertStandartRowToParameters(StandartRow row) { DatabaseLib.ParametersCollection par = new DatabaseLib.ParametersCollection(); par.Add("ProductCode", row.ProductCode, DbType.UInt64); par.Add("MaterialCode", row.MaterialCode, DbType.UInt64); par.Add("ConsumptionRate", row.ConsumptionRate, DbType.Single); par.Add("RateOfWaste", row.RateOfWaste, DbType.Single); return par; }
public static StandartRow ConvertRowInfoToStandartRow(GridViewRowInfo row) { StandartRow res = new StandartRow(); res.ProductCode = (long)row.Cells[0].Value; res.MaterialCode = (long)row.Cells[1].Value; res.ConsumptionRate = (float)row.Cells[2].Value; res.RateOfWaste = (float)row.Cells[3].Value; return res; }
public static StandartRow ConvertDataTableRowToStandartRow(DataTable dt) { StandartRow res = new StandartRow(); res.ProductCode= dt.Rows[0].Field<long>(0); res.MaterialCode = dt.Rows[0].Field<long>(1); res.ConsumptionRate = dt.Rows[0].Field<float>(2); res.RateOfWaste = dt.Rows[0].Field<float>(3); return res; }
/// <summary> /// Загрузка данных из файла для таблицы "Справочник норм и расходов материала" /// </summary> /// <param name="fname">Полный путь к тектовому файлу с данными для заполнения</param> /// <returns>Возвращает массив структур StandartRow с данными строк таблицы СНиОД</returns> public static StandartRow[] LoadDataForReferenceStandarts(string fname) { StreamReader file = new StreamReader(fname); int count = 0; string[] mas = new string[0]; while (!file.EndOfStream) { string str = file.ReadLine(); count++; Array.Resize(ref mas, count); mas[count - 1] = str; } file.Close(); StandartRow[] Std = new StandartRow[count]; for (int i = 0; i < count; i++) { string[] tmp = mas[i].Split('\t'); Std[i].ProductCode = Convert.ToInt64(tmp[0]); Std[i].MaterialCode = Convert.ToInt64(tmp[1]); Std[i].ConsumptionRate = Convert.ToSingle(tmp[2]); Std[i].RateOfWaste = Convert.ToSingle(tmp[3]); } return Std; }
private void okButton_Click(object sender, System.EventArgs e) { if (radTextBox1.Text != "" && radTextBox1.Text != " " && radTextBox2.Text != "" && radTextBox2.Text != " " && radMultiColumnComboBox1.SelectedIndex >= 0 && radMultiColumnComboBox2.SelectedIndex >= 0 && radMultiColumnComboBox3.SelectedIndex >= 0) { StandartRow row = new StandartRow(); row.ProductCode = Convert.ToInt64(radMultiColumnComboBox1.EditorControl.Rows[radMultiColumnComboBox1.SelectedIndex].Cells[0].Value); row.MaterialCode = Convert.ToInt64(radMultiColumnComboBox2.EditorControl.Rows[radMultiColumnComboBox2.SelectedIndex].Cells[0].Value); row.ConsumptionRate = Convert.ToSingle(Converter.CorrectFloatUnit(radTextBox1.Text)); row.RateOfWaste = Convert.ToSingle(Converter.CorrectFloatUnit(radTextBox1.Text)); switch (FType) { case FormType.ADDFORM: // вставка данных в ТБД DBWorker.InsertDataRowToTable(TableTag, row); break; case FormType.EDITFORM: // обновление записи в таблице DBWorker.UpdateDataInRow(TableTag, Key, Converter.ConvertStandartRowToParameters(row)); break; } this.DialogResult = DialogResult.OK; this.Close(); } else MessageBox.Show("Не верно введены данные или не заданы совсем!", "Ошибка", MessageBoxButtons.OK, MessageBoxIcon.Error); }
// заполнение данными контрола private void LoadDataToControls(StandartRow data) { radTextBox1.Text = data.ConsumptionRate.ToString(); radTextBox2.Text = data.RateOfWaste.ToString(); radMultiColumnComboBox3.SelectedIndex = GetUnitForStandartRow(data.MaterialCode); int i; for (i = 0; i < radMultiColumnComboBox2.EditorControl.Rows.Count; i++) { if (Convert.ToInt64(radMultiColumnComboBox2.EditorControl.Rows[i].Cells[0].Value) == data.MaterialCode) { radMultiColumnComboBox2.SelectedIndex = i; continue; } } for (i = 0; i < radMultiColumnComboBox1.EditorControl.Rows.Count; i++) { if (Convert.ToInt64(radMultiColumnComboBox1.EditorControl.Rows[i].Cells[0].Value) == data.ProductCode) { radMultiColumnComboBox1.SelectedIndex = i; continue; } } }