Example #1
0
        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;
        }
Example #2
0
 public static void AddDicGoodsModel(DicGoodsModel _dicGoodsModel)
 {
     DicGoodsModel._dicGoodsModel.Add(_dicGoodsModel);
 }
Example #3
0
        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();
            }
        }