Beispiel #1
0
        public void GroupBy(ColumnHeader[] Headers)
        {
            if (this.InvokeRequired)
            {
                dGroupBy d = new dGroupBy(GroupBy);
                this.Invoke(d, new object[] { Headers });
            }
            else
            {
                //code
                foreach (ListViewItem lvi in this.Items)
                {
                    string header = "";

                    foreach (ColumnHeader ch in Headers)
                    {
                        header += " " + lvi.SubItems[ch.Index].Text;
                    }

                    ListViewGroup group = new ListViewGroup(header);
                    ListViewGroup found = null;
                    foreach (ListViewGroup g in Groups)
                    {
                        if (g.Header == group.Header)
                        {
                            found = g; break;
                        }
                    }
                    if (found == null)
                    {
                        this.Groups.Add(group);
                        group.Items.Add(lvi);
                    }
                    else
                    {
                        found.Items.Add(lvi);
                    }
                }
            }
        }
Beispiel #2
0
 public void GroupBy(ColumnHeader[] Headers)
 {
     if (base.InvokeRequired)
     {
         dGroupBy method = new dGroupBy(this.GroupBy);
         base.Invoke(method, new object[] { Headers });
     }
     else
     {
         foreach (ListViewItem item in base.Items)
         {
             string str = "";
             foreach (ColumnHeader header in Headers)
             {
                 str = str + " " + item.SubItems[header.Index].Text;
             }
             ListViewGroup group  = new ListViewGroup(str);
             ListViewGroup group2 = null;
             foreach (ListViewGroup group3 in base.Groups)
             {
                 if (group3.Header == group.Header)
                 {
                     group2 = group3;
                     break;
                 }
             }
             if (group2 == null)
             {
                 base.Groups.Add(group);
                 group.Items.Add(item);
             }
             else
             {
                 group2.Items.Add(item);
             }
         }
     }
 }
Beispiel #3
0
        public void GroupBy(ColumnHeader[] Headers)
        {
            if (this.InvokeRequired) {
                dGroupBy d = new dGroupBy(GroupBy);
                this.Invoke(d, new object[] { Headers });
            } else {
                if (this.VirtualMode) {
                    //
                } else {
                    #region ������ģʽ
                    foreach (ListViewItem lvi in this.Items) {
                        string header = "";

                        foreach (ColumnHeader ch in Headers) {
                            header += " " + lvi.SubItems[ch.Index].Text;
                        }

                        ListViewGroup group = new ListViewGroup(header);
                        ListViewGroup found = null;
                        foreach (ListViewGroup g in Groups) {
                            if (g.Header == group.Header) { found = g; break; }
                        }
                        if (found == null) {
                            this.Groups.Add(group);
                            group.Items.Add(lvi);
                        } else {
                            found.Items.Add(lvi);
                        }
                    }
                    #endregion
                }
            }
        }