private void ConstruireDataTable(List <CAuditVersionObjetOperation> lstOperations) { m_dt = new DataTable(); m_dt.Columns.Add("Type opération", typeof(CTypeOperationSurObjet)); m_dt.Columns.Add("Champ", typeof(IChampPourVersion)); m_dt.Columns.Add("Type donnée", typeof(Type)); m_dt.Columns.Add("Valeur Source", typeof(IValeurCAVOO)); m_dt.Columns.Add("Valeur Cible", typeof(IValeurCAVOO)); foreach (CAuditVersionObjetOperation cavoo in lstOperations) { DataRow dr = m_dt.NewRow(); dr[m_dt.Columns[0]] = cavoo.TypeOperation; if (cavoo.Champ != null) { dr[m_dt.Columns[1]] = cavoo.Champ; dr[m_dt.Columns[2]] = CActivatorSurChaine.GetType(cavoo.TypeValeurString); dr[m_dt.Columns[3]] = new CValeurCAVOO(cavoo, EOrigineVersion.Source); dr[m_dt.Columns[4]] = new CValeurCAVOO(cavoo, EOrigineVersion.Cible); } else { string strDescrip = cavoo.VersionObjet.Description; dr[m_dt.Columns[2]] = cavoo.TypeEntite; if (CUtilAChampID.Contexte == null) { CUtilAChampID.Contexte = cavoo.ContexteDonnee; } int nColonne = -1; EOrigineVersion origine = EOrigineVersion.Cible; if (cavoo.TypeOperation.Code == CTypeOperationSurObjet.TypeOperation.Suppression) { origine = EOrigineVersion.Source; nColonne = 3; } else { origine = EOrigineVersion.Cible; nColonne = 4; } if (origine == EOrigineVersion.Source && cavoo.ValeurSource != null || origine == EOrigineVersion.Cible && cavoo.ValeurCible != null) { dr[m_dt.Columns[nColonne]] = new CValeurCAVOO(cavoo, origine); } else { int nIdEntite = cavoo.VersionObjet.IdObjetCible.HasValue ? cavoo.VersionObjet.IdObjetCible.Value : cavoo.VersionObjet.IdObjetSource.Value; Type tpEntite = cavoo.VersionObjet.TypeElement; CFiltreData filtre = new CFiltreData(CUtilAChampID.GetChampID(tpEntite) + " =@1", nIdEntite); CListeObjetsDonnees lstObj = new CListeObjetsDonnees(cavoo.ContexteDonnee, tpEntite, filtre); CObjetDonneeAIdNumerique obj = null; if (lstObj.Count == 1) { obj = (CObjetDonneeAIdNumerique)lstObj[0]; } dr[m_dt.Columns[nColonne]] = new CValeurCAVOOEntite(strDescrip, nIdEntite, cavoo.TypeEntite, obj); } } m_dt.Rows.Add(dr); m_dt.Rows[m_dt.Rows.Count - 1].AcceptChanges(); } m_dgvViewer.LectureSeule = false; Bind(); }
public void Init(CControlListeOperationsSurCAVO.CValeurCAVOO valeurCAVOO) { m_origine = valeurCAVOO.Origine; m_strLigneCible = valeurCAVOO.CAVOO.ValChampCibleString; m_strLigneOrigine = valeurCAVOO.CAVOO.ValChampSourceString; byte[] byteOfTb = null; if (valeurCAVOO.CAVOO.ValChampCibleBlob.Donnees != null && valeurCAVOO.CAVOO.ValChampCibleBlob.Donnees.Length > 0) { byteOfTb = valeurCAVOO.CAVOO.ValChampCibleBlob.Donnees; } else { byteOfTb = valeurCAVOO.CAVOO.ValChampSourceBlob.Donnees; } m_dt = CUtilADataTable.UnserializeDataTable(byteOfTb); string strLigneConcernee = m_origine == EOrigineVersion.Cible ? m_strLigneCible: m_strLigneOrigine; bool bNull = strLigneConcernee == "@NULL"; if (bNull) { m_dgv.DataSource = null; m_dgv.ContextMenuStrip = null; return; } string[] datas = null; if (!bNull) { datas = strLigneConcernee.Split('|'); } DataRow dr = m_dt.NewRow(); int nCpt = 0; foreach (DataColumn dc in m_dt.Columns) { if (nCpt >= datas.Length) { break; } if (dc.ColumnName == "ID") { dr[dc] = 0; continue; } if (!bNull) { if (datas[nCpt] == "@NULL") { dr[dc] = DBNull.Value; } else { if (dc.DataType == typeof(DateTime)) { dr[dc] = (DateTime)CUtilTexte.FromUniversalString((string)datas[nCpt], typeof(DateTime)); } else if (dc.DataType == typeof(int)) { dr[dc] = (int)CUtilTexte.FromUniversalString((string)datas[nCpt], typeof(int)); } else if (dc.DataType == typeof(bool)) { dr[dc] = (bool)CUtilTexte.FromUniversalString((string)datas[nCpt], typeof(bool)); } else if (dc.DataType == typeof(double)) { dr[dc] = (double)CUtilTexte.FromUniversalString((string)datas[nCpt], typeof(double)); } else { dr[dc] = datas[nCpt]; } } } else { dc.AllowDBNull = true; dr[dc] = DBNull.Value; } nCpt++; } m_dt.Rows.Add(dr); m_dgv.DataSource = m_dt; m_dgv.Columns[0].Visible = false; m_dgv.CellFormatting += new DataGridViewCellFormattingEventHandler(m_dgv_CellFormatting); m_dgv.ColumnWidthChanged += new DataGridViewColumnEventHandler(m_dgv_ColumnWidthChanged); m_dgv.AutoSizeColumnsMode = DataGridViewAutoSizeColumnsMode.Fill; m_dgv.AllowUserToAddRows = false; m_dgv.ColumnHeadersVisible = false; m_dgv.RowHeadersVisible = true; m_dgv.RowHeadersWidth = 10; m_dgv.ReadOnly = true; ActualiserTextMenu(); //m_dgv.ColumnHeadersVisible = false; //if (diffTable.CreationTable) //{ //} //else if (diffTable.ChangementStructureTable) //{ //} //else if (diffTable.ChangementClePrimaire) //{ //} //else //{ // //Récupération de la ligne concernée //} }
public CValeurCAVOO(CAuditVersionObjetOperation cavoo, EOrigineVersion origine) { m_valeur = origine == EOrigineVersion.Cible ? cavoo.ValeurCible : cavoo.ValeurSource; m_origine = origine; m_cavoo = cavoo; }