Hello Brian,
Sorry for misunderstanding your word. But I think the only way to do that,
is to draw it by the code.
Best regards,
Lion Shi [MSFT]
MCSE, MCSD
Microsoft Support Engineer
Get Secure! ¨C
www.microsoft.com/security
This posting is provided "AS IS" with no warranties, and confers no rights.
You assume all risk for your use. 2003 Microsoft Corporation. All rights
reserved.
--------------------
| From: "Brian Reed" <
[email protected]>
| References: <
[email protected]>
<2R#
[email protected]>
| Subject: Re: ListView - Sorting and the Delta Symbol
| Date: Wed, 17 Sep 2003 11:17:45 -0700
| Lines: 174
| X-Priority: 3
| X-MSMail-Priority: Normal
| X-Newsreader: Microsoft Outlook Express 6.00.2800.1158
| X-MimeOLE: Produced By Microsoft MimeOLE V6.00.2800.1165
| Message-ID: <
[email protected]>
| Newsgroups: microsoft.public.dotnet.framework.windowsforms
| NNTP-Posting-Host: 66.166.27.66
| Path: cpmsftngxa06.phx.gbl!TK2MSFTNGP08.phx.gbl!TK2MSFTNGP12.phx.gbl
| Xref: cpmsftngxa06.phx.gbl
microsoft.public.dotnet.framework.windowsforms:52612
| X-Tomcat-NG: microsoft.public.dotnet.framework.windowsforms
|
| I have the sorting code down. I just want the list view to draw the little
| delta/carot symbol at the top of the sorted column.
|
|
| | > Hello Brian,
| >
| > There is a Microsoft Knowledge Article (KB) describing it in detailed.
You
| > may get it from the link below:
| >
| > HOW TO: Sort a ListView Control by a Column in Visual C# .NET (Q319401)
| >
http://support.microsoft.com/default.aspx?scid=kb;EN-US;q319401
| >
| > For your convenience, I have pasted a snip of code here:
| >
| > using System.Collections;
| > using System.Windows.Forms;
| >
| > /// <summary>
| > /// This class is an implementation of the 'IComparer' interface.
| > /// </summary>
| > public class ListViewColumnSorter : IComparer
| > {
| > /// <summary>
| > /// Specifies the column to be sorted
| > /// </summary>
| > private int ColumnToSort;
| > /// <summary>
| > /// Specifies the order in which to sort (i.e. 'Ascending').
| > /// </summary>
| > private SortOrder OrderOfSort;
| > /// <summary>
| > /// Case insensitive comparer object
| > /// </summary>
| > private CaseInsensitiveComparer ObjectCompare;
| >
| > /// <summary>
| > /// Class constructor. Initializes various elements
| > /// </summary>
| > public ListViewColumnSorter()
| > {
| > // Initialize the column to '0'
| > ColumnToSort = 0;
| >
| > // Initialize the sort order to 'none'
| > OrderOfSort = SortOrder.None;
| >
| > // Initialize the CaseInsensitiveComparer object
| > ObjectCompare = new CaseInsensitiveComparer();
| > }
| >
| > /// <summary>
| > /// This method is inherited from the IComparer interface. It compares
| > the two objects passed using a case insensitive comparison.
| > /// </summary>
| > /// <param name="x">First object to be compared</param>
| > /// <param name="y">Second object to be compared</param>
| > /// <returns>The result of the comparison. "0" if equal, negative if
'x'
| > is less than 'y' and positive if 'x' is greater than 'y'</returns>
| > public int Compare(object x, object y)
| > {
| > int compareResult;
| > ListViewItem listviewX, listviewY;
| >
| > // Cast the objects to be compared to ListViewItem objects
| > listviewX = (ListViewItem)x;
| > listviewY = (ListViewItem)y;
| >
| > // Compare the two items
| > compareResult =
| >
|
ObjectCompare.Compare(listviewX.SubItems[ColumnToSort].Text,listviewY.SubIte
| > ms[ColumnToSort].Text);
| >
| > // Calculate correct return value based on object comparison
| > if (OrderOfSort == SortOrder.Ascending)
| > {
| > // Ascending sort is selected, return normal result of compare
| operation
| > return compareResult;
| > }
| > else if (OrderOfSort == SortOrder.Descending)
| > {
| > // Descending sort is selected, return negative result of compare
| > operation
| > return (-compareResult);
| > }
| > else
| > {
| > // Return '0' to indicate they are equal
| > return 0;
| > }
| > }
| >
| > /// <summary>
| > /// Gets or sets the number of the column to which to apply the sorting
| > operation (Defaults to '0').
| > /// </summary>
| > public int SortColumn
| > {
| > set
| > {
| > ColumnToSort = value;
| > }
| > get
| > {
| > return ColumnToSort;
| > }
| > }
| >
| > /// <summary>
| > /// Gets or sets the order of sorting to apply (for example,
'Ascending'
| > or 'Descending').
| > /// </summary>
| > public SortOrder Order
| > {
| > set
| > {
| > OrderOfSort = value;
| > }
| > get
| > {
| > return OrderOfSort;
| > }
| > }
| > }
| >
| > I hope this is helpful.
| >
| > Best regards,
| >
| > Lion Shi [MSFT]
| > MCSE, MCSD
| > Microsoft Support Engineer
| > Get Secure! ¨C
www.microsoft.com/security
| >
| > This posting is provided "AS IS" with no warranties, and confers no
| rights.
| > You assume all risk for your use. 2003 Microsoft Corporation. All
rights
| > reserved.
| > --------------------
| > | From: "Brian Reed" <
[email protected]>
| > | Subject: ListView - Sorting and the Delta Symbol
| > | Date: Tue, 16 Sep 2003 11:21:13 -0700
| > | Lines: 8
| > | X-Priority: 3
| > | X-MSMail-Priority: Normal
| > | X-Newsreader: Microsoft Outlook Express 6.00.2800.1158
| > | X-MimeOLE: Produced By Microsoft MimeOLE V6.00.2800.1165
| > | Message-ID: <
[email protected]>
| > | Newsgroups: microsoft.public.dotnet.framework.windowsforms
| > | NNTP-Posting-Host: 66.166.27.66
| > | Path:
| >
|
cpmsftngxa07.phx.gbl!cpmsftngxa10.phx.gbl!TK2MSFTNGXA05.phx.gbl!TK2MSFTNGP08
| > phx.gbl!tk2msftngp13.phx.gbl
| > | Xref: cpmsftngxa07.phx.gbl
| > microsoft.public.dotnet.framework.windowsforms:52362
| > | X-Tomcat-NG: microsoft.public.dotnet.framework.windowsforms
| > |
| > | Before I start writing code to perform the owner draw on the list
view,
| is
| > | there a way to get the default List View control to draw the
carot/delta
| > | symbol showing which way the data is sorted? Thanks
| > |
| > | Brian
| > |
| > |
| > |
| > |
| >
|
|
|