Exemplo n.º 1
0
        //----------------------------------------------------
        public static void ShowListe(
            string strTitre,
            CListeObjetsDonnees listeAVoir,
            CFormNavigateur navigateurAssocié,
            GLColumnCollection columns,
            string strContexteUtilisation)
        {
            if (listeAVoir == null)
            {
                return;
            }

            //Créer une nouvelle liste dans le contexte de base
            CListeObjetsDonnees lst    = new CListeObjetsDonnees(CSc2iWin32DataClient.ContexteCourant, listeAVoir.TypeObjets);
            CFiltreData         filtre = CFiltreData.GetAndFiltre(listeAVoir.FiltrePrincipal,
                                                                  listeAVoir.Filtre);

            lst.Filtre = filtre;


            CFormListeExtraiteOld frm = new CFormListeExtraiteOld();

            frm.Text = strTitre;
            frm.m_navigateurAssocié = navigateurAssocié != null?navigateurAssocié:m_navigateurParDefaut;
            Image img = CFormListeStandard.CalculeNewImage(lst.TypeObjets);

            frm.m_listeObjets = lst;
            if (columns != null)
            {
                frm.m_panelListe.AllowSerializePreferences = false;
                foreach (GLColumn col in columns)
                {
                    GLColumn copie = CCloner2iSerializable.Clone(col) as GLColumn;
                    frm.m_panelListe.Columns.Add(copie);
                }
            }
            else
            {
                frm.m_panelListe.AllowSerializePreferences = true;
                if (strContexteUtilisation != null)
                {
                    frm.m_panelListe.ContexteUtilisation = strContexteUtilisation;
                }
                string   strField = DescriptionFieldAttribute.GetDescriptionField(lst.TypeObjets, "DescriptionElement");
                GLColumn col      = new GLColumn("");
                col.Propriete = strField;
                col.Width     = frm.m_panelListe.ClientSize.Width;
                frm.m_panelListe.Columns.Add(col);
            }

            frm.Show();
        }
Exemplo n.º 2
0
        //
        private void InitializeGlacialList()
        {
            // Store in our convenient list.
            m_GList[QTMath.BuySide]  = glacialListBuy;
            m_GList[QTMath.SellSide] = glacialListSell;

            ImageList list = new ImageList();

            list.Images.Add(System.Drawing.Image.FromFile(string.Format("{0}BalloonYellow.bmp", Application.AppInfo.GetInstance().UserConfigPath)));
            list.Images.Add(System.Drawing.Image.FromFile(string.Format("{0}BalloonRed.bmp", Application.AppInfo.GetInstance().UserConfigPath)));
            list.Images.Add(System.Drawing.Image.FromFile(string.Format("{0}BalloonGreen.bmp", Application.AppInfo.GetInstance().UserConfigPath)));


            // Create columns for views.
            GLColumn column;

            for (int side = 0; side < 2; side++)
            {
                m_GList[side].Selectable = false;
                //m_GList[side].ActivatedEmbeddedControl.Ite
                m_GList[side].AllowColumnResize = false;
                m_GList[side].ControlStyle      = GLControlStyles.Normal;
                //m_GList[side].GridLineStyle = GLGridLineStyles.gridNone;
                //m_GList[side].GridLines = GLGridLines.
                //m_GList[side].Click += new EventHandler(ListView_Click);
                //m_GList[side].ItemChangedEvent += new ChangedEventHandler(ListView_ItemChangedEvent);
                m_GList[side].MouseClick += new MouseEventHandler(ListView_MouseClick);


                // Load image table
                m_GList[side].ImageList = new ImageList();
                for (int i = 0; i < list.Images.Count; ++i)
                {
                    m_GList[side].ImageList.Images.Add(list.Images[i], System.Drawing.Color.White);
                }
                int n = m_GList[side].ItemHeight;
                m_GList[side].ItemHeight = 14;

                if (side == 0)
                {
                    column                       = new GLColumn("");
                    column.Width                 = 80;
                    column.NumericSort           = false;
                    column.TextAlignment         = System.Drawing.ContentAlignment.MiddleLeft;
                    column.ActivatedEmbeddedType = GLActivatedEmbeddedTypes.ComboBox;
                    ComboBox cb = (ComboBox)column.ActivatedEmbeddedControlTemplate;                    // Create the prototypical combo box.
                    cb.Items.Clear();
                    cb.Items.Add("Default");
                    cb.Items.Add("Model 1");
                    cb.Items.Add("Model 2");
                    cb.Items.Add("Model 3");
                    m_GList[side].Columns.Add(column);

                    column             = new GLColumn("");
                    column.Width       = 20;
                    column.NumericSort = false;
                    m_GList[side].Columns.Add(column);

                    column = new GLColumn("Qty");
                    column.TextAlignment = System.Drawing.ContentAlignment.MiddleRight;
                    column.Width         = 30;
                    column.NumericSort   = false;
                    m_GList[side].Columns.Add(column);

                    column = new GLColumn("Price");
                    column.TextAlignment = System.Drawing.ContentAlignment.MiddleRight;
                    column.Width         = 40;
                    column.NumericSort   = false;
                    m_GList[side].Columns.Add(column);
                }
                if (side == 1)
                {
                    // Load columns
                    column = new GLColumn("Price");
                    column.TextAlignment = System.Drawing.ContentAlignment.MiddleRight;
                    column.Width         = 40;
                    column.NumericSort   = false;
                    m_GList[side].Columns.Add(column);

                    column = new GLColumn("Qty");
                    column.TextAlignment = System.Drawing.ContentAlignment.MiddleRight;
                    column.Width         = 30;
                    column.NumericSort   = false;
                    m_GList[side].Columns.Add(column);

                    column             = new GLColumn("");
                    column.Width       = 20;
                    column.NumericSort = false;
                    m_GList[side].Columns.Add(column);

                    column                       = new GLColumn("");
                    column.Width                 = 80;
                    column.NumericSort           = false;
                    column.TextAlignment         = System.Drawing.ContentAlignment.MiddleLeft;
                    column.ActivatedEmbeddedType = GLActivatedEmbeddedTypes.ComboBox;
                    // Create the prototypical combo box.
                    ComboBox cb = (ComboBox)column.ActivatedEmbeddedControlTemplate;
                    cb.Items.Clear();
                    cb.Items.Add("Default");
                    cb.Items.Add("Model 1");
                    cb.Items.Add("Model 2");
                    cb.Items.Add("Model 3");
                    m_GList[side].Columns.Add(column);
                }
            }
        }// InitializeListView()
Exemplo n.º 3
0
        /// /////////////////////////////////////////////////////////////
        ///Implémente le tri d'une liste d'objets donnée
        /// <summary>
        /// Sort a column.
        public override void SortColumn(int nColumn)
        {
            if (Count < 2)                                      // nothing to sort
            {
                return;
            }

            if (nColumn < 0 || nColumn > Columns.Count)
            {
                return;
            }

            if (!(ListeSource is CListeObjetsDonnees))
            {
                base.SortColumn(nColumn);
                return;
            }


            GLColumn            col          = Columns[nColumn];
            CListeObjetsDonnees listeDonnees = (CListeObjetsDonnees)ListeSource;

            string strProp = CInfoStructureDynamique.GetProprieteDotNet(col.Propriete);

            if (strProp.IndexOf('.') < 0)
            {
                //Trouve la propriété
                PropertyInfo info = listeDonnees.TypeObjets.GetProperty(strProp);
                if (info != null)
                {
                    //y-a-t-il un attribut TableField sur la propriété
                    object[] attribs = info.GetCustomAttributes(typeof(TableFieldPropertyAttribute), true);
                    if (attribs.Length > 0)
                    {
                        if (CheckedItems.Count != 0 && CheckBoxes)
                        {
                            if (CFormAlerte.Afficher(I.T("Warning, the sorting will uncheck all checked elements. Continue ?|139"),
                                                     EFormAlerteType.Question) == DialogResult.No)
                            {
                                return;
                            }
                        }
                        ResetCheck();
                        TableFieldPropertyAttribute fieldAttr = (TableFieldPropertyAttribute)attribs[0];
                        string strSort = fieldAttr.NomChamp;
                        if (strSort == m_strLastSort)
                        {
                            m_bSortAsc = !m_bSortAsc;
                        }
                        else
                        {
                            m_bSortAsc = true;
                        }
                        m_strLastSort = strSort;
                        if (!m_bSortAsc)
                        {
                            strSort += " desc";
                        }
                        listeDonnees.Tri = strSort;
                        listeDonnees.Refresh();
                        Refresh();
                        base.SortIndex = nColumn;
                        Columns[nColumn].LastSortState = m_bSortAsc ? ColumnSortState.SortedDown : ColumnSortState.SortedUp;
                        return;
                    }
                }
            }
            CFormAlerte.Afficher(I.T("Sort on this field is impossible|138"), EFormAlerteType.Exclamation);
        }