public static void getNomDicGoodsID_(string ID) { //ArrayList Code = new ArrayList(); //ArrayList Name = new ArrayList(); //ArrayList PriceOut = new ArrayList(); // Описание: ExecuteScalar — получение единственного значения. Firebird, InterBase .Net провайдер (c#) string connString = "User=SYSDBA;" + "Password=masterkey;" + "Charset = UTF8;" + "Database=127.0.0.1:terra;" + "DataSource=localhost;" + "Port=3050;"; FbConnection fb = new FbConnection(connString); fb.Open(); FbCommand SelectSQL = new FbCommand("SELECT id, code, name, IS_SERVICE, PRICE_OUT, IS_ACTIVE FROM dic_goods where GRP_ID = @cust_no ORDER BY name", fb); //add one IN parameter FbParameter nameParam = new FbParameter("@cust_no", ID); // добавляем параметр к команде SelectSQL.Parameters.Add(nameParam); FbTransaction fbt = fb.BeginTransaction(); SelectSQL.Transaction = fbt; FbDataReader reader = SelectSQL.ExecuteReader(); try { while (reader.Read()) { DicGoodsModel.AddDicGoodsModel(new DicGoodsModel(id: reader?.GetString(0), code: reader?.GetString(1), name: reader?.GetString(2), isService: reader?.GetString(3) == "1" ? true : false, price: reader.GetDouble(4), isSale: reader?.GetString(5) == "1" ? true : false)); } } catch (Exception) //selection=="+"? (x+y) : (x-y); { //dataGridView1.Rows.Clear(); } finally { fbt.Commit(); reader.Close(); SelectSQL.Dispose(); fb.Close(); } // return dgm; }
public static void AddDicGoodsModel(DicGoodsModel _dicGoodsModel) { DicGoodsModel._dicGoodsModel.Add(_dicGoodsModel); }
private void TreeView1_AfterSelect(object sender, TreeViewEventArgs e) { dataGridView1.Rows.Clear(); // dataGridView1.Columns.Clear(); dataGridView1.AllowUserToAddRows = false; //запрешаем пользователю самому добавлять строки dataGridView1.AllowUserToResizeColumns = true; TreeNode selectedNode = e.Node; DicGoodsModel.ClearDicGoodsModel(); getNomDicGoodsID_(selectedNode.Name); //MessageBox.Show(selectedNode.Name); BindingList <SampleRow> data = new BindingList <SampleRow>(); //Специальный список List с вызовом события обновления внутреннего состояния, необходимого для автообновления datagridview foreach (DicGoodsModel s in DicGoodsModel.GetDicGoodsModel) { data.Add(new SampleRow(id: s.ID, code: s.Code, name: s.Name, _isService: s.IsService, price: s.Price.ToString("F2"), _isSale: s.IsSale)); } dataGridView1.DataSource = data; //// set autosize mode // dataGridView1.Columns[0].AutoSizeMode = DataGridViewAutoSizeColumnMode.AllCells; // dataGridView1.Columns[1].AutoSizeMode = DataGridViewAutoSizeColumnMode.Fill; // dataGridView1.Columns[2].AutoSizeMode = DataGridViewAutoSizeColumnMode.AllCells; // //dataGridView1.Columns[0].Width = 250; // //dataGridView1.Columns[1].Width = 250; // //dataGridView1.Columns[2].Width = 250; // //datagrid has calculated it widths so we can store them // for (int i = 0; i <= dataGridView1.Columns.Count - 1; i++) // { // //store autosized widths // int colw = dataGridView1.Columns[i].Width; // //remove autosizing // dataGridView1.Columns[i].AutoSizeMode = DataGridViewAutoSizeColumnMode.None; // //set width to calculated by autosize // dataGridView1.Columns[i].Width = colw; // } //dataGridView1.AutoGenerateColumns = false; ////create the column programatically //DataGridViewCell cell = new DataGridViewTextBoxCell(); //DataGridViewTextBoxColumn colFileName = new DataGridViewTextBoxColumn() //{ // CellTemplate = cell, // Name = "code", // HeaderText = "File Name", // DataPropertyName = "Value" // Tell the column which property of FileName it should use //}; //dataGridView1.Columns.Add(colFileName); /* * TreeNode selectedNode = e.Node; * * DicGoodsModel.ClearDicGoodsModel(); * getNomDicGoodsID_(selectedNode.Name); * * foreach (DicGoodsModel s in DicGoodsModel.GetDicGoodsModel) * { * dataGridView1.Rows.Add(); * dataGridView1["code", dataGridView1.Rows.Count - 1].Value = s.ID; * dataGridView1["name", dataGridView1.Rows.Count - 1].Value = s.Name; * dataGridView1["price", dataGridView1.Rows.Count - 1].Value = s.Price.ToString("F2"); * } */ //for (int i = 0; i < 100; ++i) //{ // //Добавляем строку, указывая значения колонок поочереди слева направо // dataGridView1.Rows.Add("Пример 1, Товар " + i, i * 1000, i); //} //for (int i = 0; i < 5; ++i) //{ // // Добавляем строку, указывая значения каждой ячейки по имени(можно использовать индекс 0, 1, 2 вместо имен) // dataGridView1.Rows.Add(); // dataGridView1["code", dataGridView1.Rows.Count - 1].Value = "Пример 2, Товар xxx" + i; // dataGridView1["name", dataGridView1.Rows.Count - 1].Value = i * 1000; // dataGridView1["price", dataGridView1.Rows.Count - 1].Value = i; //} ////А теперь простой пройдемся циклом по всем ячейкам //for (int i = 0; i < dataGridView1.Rows.Count; ++i) //{ // for (int j = 0; j < dataGridView1.Columns.Count; ++j) // { // //Значения ячеек хрянятся в типе object // //это позволяет хранить любые данные в таблице // object o = dataGridView1[j, i].Value; // } //} //нумерация int index = 0; object header; string indexStr = (index + 1).ToString(); for (int i = 0; i < dataGridView1.Rows.Count; ++i) { header = this.dataGridView1.Rows[index].HeaderCell.Value; if (header == null || !header.Equals(indexStr)) { this.dataGridView1.Rows[index].HeaderCell.Value = indexStr; } indexStr = (index++).ToString(); } }