Ejemplo n.º 1
0
 private void listView_ColumnClick(object sender, ColumnClickEventArgs e)
 {
     ListItemComparer.UpdateListComparer(sender as ListView, e.Column);
 }
Ejemplo n.º 2
0
        //Initializes Theme Selector for multi-color theme
        protected void InitializeThemeSelector_Base()
        {
            string selectedTheme = ((BaseApplicationPage)(this.Page)).GetSelectedTheme();
              if(string.IsNullOrEmpty(selectedTheme)) selectedTheme = this.Page.Theme;

              //Now sort themes according to their localized name. You may override this method and sorrt them differently
              System.Collections.Generic.List<ListItem> themeList = new System.Collections.Generic.List<ListItem>();
              BaseClasses.Utils.ListItemComparer comparer = new ListItemComparer(true, ListItemComparer.SortBy.Text);

              foreach (ListItem li in this.ThemeSelector.Items) {
            //To use localized name create an entry in the language specific resource file for each Txt:Theme_Name
              //I.e. if your Theme's name is 'Fire Engine' your resource key should be "Txt:Fire_Engine"
              string locName = this.GetResourceValue("Txt:" + li.Text.Replace(" ","_"), "FPCEstimate");
              if (!string.IsNullOrEmpty(locName)) li.Text = locName;
              themeList.Add(li);
              }

              this.ThemeSelector.Items.Clear();
              themeList.Sort(comparer);
              this.ThemeSelector.Items.AddRange(themeList.ToArray());

              if(!string.IsNullOrEmpty(selectedTheme))
              {
              for (int index = 0; index <= this.ThemeSelector.Items.Count - 1; index++) {
                  if (this.ThemeSelector.Items[index].Value == selectedTheme) {
                     this.ThemeSelector.SelectedIndex = index;
                     break;
                  }
              }
              }
        }
        private void SortListViewItems(int columnIndex)
        {
            if (columnIndex < 0 || columnIndex >= this.artifactListView.Columns.Count)
                return;

            ListItemComparer listItemComparer = new ListItemComparer((columnIndex == 0) ? true : false, this.sortListViewAscending);
            this.artifactListView.ListViewItemSorter = listItemComparer;

            if (this.artifactListView.SelectedItems.Count > 0)
                this.artifactListView.SelectedItems[0].EnsureVisible();

            //Update the bitmap for the sorted column
            IntPtr headerWindow = NativeMethods.ListView_GetHeader(this.artifactListView.Handle);
            NativeMethods.HDITEM headerItem = new NativeMethods.HDITEM();
            headerItem.mask = NativeMethods.HDI_FORMAT | NativeMethods.HDI_BITMAP;
            for (int i = 0; i < this.artifactListView.Columns.Count; i++)
            {
                if (NativeMethods.Header_GetItem(headerWindow, i, headerItem))
                {
                    headerItem.fmt &= ~(NativeMethods.HDF_BITMAP | NativeMethods.HDF_BITMAP_ON_RIGHT);
                    headerItem.hbm = IntPtr.Zero;
                    NativeMethods.Header_SetItem(headerWindow, i, headerItem);
                }
            }

            if (NativeMethods.Header_GetItem(headerWindow, columnIndex, headerItem))
            {
                headerItem.mask = NativeMethods.HDI_FORMAT | NativeMethods.HDI_BITMAP;
                headerItem.fmt |= NativeMethods.HDF_BITMAP | NativeMethods.HDF_BITMAP_ON_RIGHT;
                headerItem.hbm = (this.sortListViewAscending) ? this.bitmapSortUp : this.bitmapSortDown;
                NativeMethods.Header_SetItem(headerWindow, columnIndex, headerItem);
            }
        }
 private void SortListViewItems(int columnIndex)
 {
     if ((columnIndex >= 0) && (columnIndex < this.artifactListView.Columns.Count))
     {
         ListItemComparer comparer = new ListItemComparer(columnIndex == 0, this.sortListViewAscending);
         this.artifactListView.ListViewItemSorter = comparer;
         if (this.artifactListView.SelectedItems.Count > 0)
         {
             this.artifactListView.SelectedItems[0].EnsureVisible();
         }
         IntPtr hWndHeader = System.Workflow.Interop.NativeMethods.ListView_GetHeader(this.artifactListView.Handle);
         System.Workflow.Interop.NativeMethods.HDITEM hdi = new System.Workflow.Interop.NativeMethods.HDITEM {
             mask = 20
         };
         for (int i = 0; i < this.artifactListView.Columns.Count; i++)
         {
             if (System.Workflow.Interop.NativeMethods.Header_GetItem(hWndHeader, i, hdi))
             {
                 hdi.fmt &= -12289;
                 hdi.hbm = IntPtr.Zero;
                 System.Workflow.Interop.NativeMethods.Header_SetItem(hWndHeader, i, hdi);
             }
         }
         if (System.Workflow.Interop.NativeMethods.Header_GetItem(hWndHeader, columnIndex, hdi))
         {
             hdi.mask = 20;
             hdi.fmt |= 0x3000;
             hdi.hbm = this.sortListViewAscending ? this.bitmapSortUp : this.bitmapSortDown;
             System.Workflow.Interop.NativeMethods.Header_SetItem(hWndHeader, columnIndex, hdi);
         }
     }
 }