Пример #1
0
        //----------------------------------
        private string[] GetValeursActeurParVersion(CActeur acteur, string strChamp)
        {
            int           nId         = acteur.Id;
            List <string> strLibs     = new List <string>();
            int?          nOldVersion = m_contexteDonnee.IdVersionDeTravail;

            m_contexteDonnee.SetVersionDeTravail(null, false);
            DataRow row = acteur.Row.Row;

            acteur.Nom                         = "Test";
            row.Table.RowChanging             += new DataRowChangeEventHandler(Table_RowChanging);
            row[CActeur.c_champNom]            = "TEST 2";
            row[CContexteDonnee.c_colIsToRead] = true;

            m_contexteDonnee.SetIsToRead(row, true);
            if (!acteur.IsValide())
            {
                strLibs.Add(null);
            }
            else
            {
                strLibs.Add((string)acteur.Row[strChamp]);
            }
            for (int nVersion = 0; nVersion < m_nIdsVersions.Length; nVersion++)
            {
                m_contexteDonnee.SetVersionDeTravail(m_nIdsVersions[nVersion], false);
                if (acteur.IsValide())
                {
                    strLibs.Add((string)acteur.Row[strChamp]);
                }
                else
                {
                    strLibs.Add(null);
                }
            }
            m_contexteDonnee.SetVersionDeTravail(nOldVersion, false);
            return(strLibs.ToArray());
        }