private void ConstruiesteRanduriDGV() { this.dgvListaVenituriEtape.IncepeContructieRanduri(); var listaEtape = BEtape.GetListByParam(EnumStare.Activa, null); if (this.lVenituri == null) { //Mod creare ... incarcam cu BEtape foreach (var elem in listaEtape) { incarcaRand(this.dgvListaVenituriEtape.AdaugaRandNou(), elem); } } else { //Mod modificare ... incarcam cu BColectieUtilizatoriVenituriDetalii var listaElem = BUtilizatoriVenituriDetalii.GetListByParam(this.lVenituri.Id, null); foreach (var etapa in listaEtape) { incarcaRand(this.dgvListaVenituriEtape.AdaugaRandNou(), etapa, listaElem.GetByIdEtapa(etapa.Id)); } } this.dgvListaVenituriEtape.FinalizeazaContructieRanduri(); }
private void incarcaRand(DataGridViewRow pRand, BEtape pEtapa, BUtilizatoriVenituriDetalii pVenitDetalii) { pRand.Tag = pVenitDetalii; pRand.Cells[EnumColoaneDGV.colEtapa.ToString()].Value = pEtapa.Denumire; pRand.Cells[EnumColoaneDGV.colEtapa.ToString()].Tag = pEtapa; if (pVenitDetalii != null) { DataGridViewPersonalizat.InitCelulaValoareMonetara(pRand, EnumColoaneDGV.colPret.ToString(), pVenitDetalii.Pret); } }
private void DgvListaVenituriEtape_CellEndEdit(object sender, DataGridViewCellEventArgs e) { if (this.lSeIncarca || e.RowIndex < 0) { return; } try { incepeIncarcarea(); //In modul creare vom recupera Dictionarul cu id etapa si pret la salvare if (this.lVenituri != null) { //In mod modificare facem update sau insert in BUtilizatoriVenituriDetalii in functie de ce avem in Tag rand //recuperam numele coloanei si ne asiguram ca e coloana pret string denumireColoanaSelectata = this.dgvListaVenituriEtape.Columns[e.ColumnIndex].Name; if (denumireColoanaSelectata.Equals(EnumColoaneDGV.colPret.ToString())) { BEtape etape = this.dgvListaVenituriEtape.Rows[e.RowIndex].Cells[EnumColoaneDGV.colEtapa.ToString()].Tag as BEtape; BUtilizatoriVenituriDetalii pretVenituriDetalii = this.dgvListaVenituriEtape.Rows[e.RowIndex].Tag as BUtilizatoriVenituriDetalii; if (pretVenituriDetalii != null) { if (pretVenituriDetalii != null) { //Update pretVenituriDetalii.UpdatePret(CUtil.GetAsDouble(this.dgvListaVenituriEtape.Rows[e.RowIndex].Cells[e.ColumnIndex].Value)); } } else { double pretNou = CUtil.GetAsDouble(this.dgvListaVenituriEtape.Rows[e.RowIndex].Cells[e.ColumnIndex].Value); int id = BUtilizatoriVenituriDetalii.Add(this.lVenituri.Id, etape.Id, pretNou, null); if (id > 0) { pretVenituriDetalii = new BUtilizatoriVenituriDetalii(id); } } incarcaRand(this.dgvListaVenituriEtape.Rows[e.RowIndex], etape, pretVenituriDetalii); } } else { //Validam Pret valoare introdusa string name = this.dgvListaVenituriEtape.Columns[e.ColumnIndex].Name; if (name.Equals(EnumColoaneDGV.colPret.ToString())) { string text = Convert.ToString(this.dgvListaVenituriEtape.Rows[e.RowIndex].Cells[e.ColumnIndex].Value); if (!string.IsNullOrEmpty(text) && !CUtil.PermiteDoarNumericeDinString(text)) { this.dgvListaVenituriEtape.Rows[e.RowIndex].Cells[e.ColumnIndex].Value = CUtil.ExtrageDoarNumericeDinString(text); } } } } catch (Exception ex) { GestiuneErori.AfiseazaMesaj(this.GetFormParinte(), ex); } finally { finalizeazaIncarcarea(); } }