I support a .Net 2.0 Windows application that has a custom listview control to allow for greater flexibility. I am not allowed to bring this to a newer version of the gramework until next year. We are moving from XP to Windows 7, and we have identified an issue with how the column sort image (up/down arrow) is drawn to the listview. Currently in XP, the image is drawn to the right of the column's text. However, in Windows 7, I am getting Access Violation Exceptions. Now, I know that the error is with the improper handling of memory using the unmanaged code as shown below. I am looking for a method to mimic what we have below in a safe manner using managed code.
I'm having trouble implementing an IComparer method. Essentially, I want to compare the properties of two custom objects (the properties are of type integer).dE is a Dictionary(Of String, customObj)prTabIndex is a property of customObj and is of type Integer (these hold true for all examples)After some more searching I found this thread which suggested 3 things: a List approach, utilizing LINQ, and using some C# 3.0 features. I've tried three different ways:...rolling my own IComparer implementation:
Public m As Sub(ByRef d As Dictionary(of String, customObj)) Dim sortedD As New SortedDictionary(Of String, customObj)(d, myCompare) End Sub
[code]....
Note that VS2008 has underlined 'dE.ToDictionary...' (to the end of the line) and giving me two messages depending on where I hover my mouse:
1) "Data type(s) of the type parameter(s) in extension method 'signature' As 'signature defined in 'System.Linq.Enumerable cannot be inferred from these arguments. Specifying the data types explicitly might correct this error. Seen while hovering over "ToDictionary".
2) Nested function does not have the same signature as delegate 'signature'. Seen while hovering over anything after "ToDictionary".
Q1) How far off am I in each of the implementations?
Q2) Which one is the computationally least expensive? Why?
Q3) Which one is the computationally most expensive? Why?
Currently my ListView sorts items by image.index. So 0 is at the top, then 1, 2 and so on. Think of it as an IRC chat room nick list. Ops at top then the rest are sorted alphabetically
Dim o As New System.IO.DirectoryInfo(Application.StartupPath() + "p") Dim myfiles() As System.IO.FileInfo myfiles = o.GetFiles("*.r**")i have such code. for example I got 4 files in tmp dir. it's called file.rar, file.r00, file.r01 and file.r02 ,the return Array always comes as follow file.r00, file.r01, file.r02 and last is file.rar. Now I want the result in order like first file.rar and next is 00 01 02 03...n etc how to make it ? anyway dont make .rar in last I want to make it in the first place.seems there is a Array.Sort but I dont know how to use it this way.
How can I sort an ArrayList of custom objects by public member? Example,If I have a list of article objects, and I'd like to sort the list by the rating member after I've filled the ArrayList
Public Class Article Public bulletin As String Public rating As Integer[code].....
Now I'd like to sort uniqueArticles by rating and print articles by rating order.How do I do perform that sort?
I need the listview in my app to sort by the date (descending) in the second column after adding a new entry to it from another form. I have tried some column sorting examples made for the column click event but am not able to use those examples for what I'm doing as I keep getting error
im currently using vs.net 2003 my problem is that i want to sort items in listview by date (mm dd, yyyy) format and sort by a button not in the column :?:
I'm using the following code to sort a listview:It triggers off the column click envent.What I would like to add to my code is to manually trigger it in the code. My code enumerates all installed apps on a PC and places them into a listview. I then want to sort the listview as the next step in my code but the sort code from the MS site looks for the column which was clicked:
Private Sub lvVisualResults_ColumnClick(ByVal sender As Object, ByVal e As System.Windows.Forms.ColumnClickEventArgs) Handles lvVisualResults.ColumnClick ' Determine if the clicked column is already the column that is
Using Microsoft Visual Studio 2010 Ultimate - VB.Net
I'm writing an application where as many of other applications fulfill the requirements to be as an app , having it's statistics schema. Thus I made a form where I have a combox(of query category), a textbox(as searchfield), two datetimepickers(from and to) a listview and a button to fire the event with functions in it. I'm all set except for a minor issue I've encountered during my very first experiments with ListView control. Thus far I didn't know that VB users are stuck with that control's property options (whereas DataGridView has way too many), especially when it came to Column reordering/s. With the simple but not satisfying property Sort I couldn't find a proper solution to my issue.
when I click on of the columns in the listview to do a Number/Date/Text reordering (descending>ascending, via-verse). Not to forget to mention there a limited number of columns most likely 2-4 max.
The listview control has lvResults name and has for now columns inserted as "Country" and the other for subitems "Total Spent".
One e.g. of the values inserted to it is like this :
[Code].....
If pressed on Total Spent, should reorder from highest to the lowest number and via-versa. If pressed on Country should reorder from A to Z or via-versa.
I'm trying to set something up where the user can sort each column by clicking on the header... i've looked at some other examples and they seem pretty longwinded..so far i have the below...
VB Private Sub resultsListView_ColumnClick(ByVal sender As Object, ByVal e As System.Windows.Forms.ColumnClickEventArgs) Handles resultsListView.ColumnClick Dim oldsort As SortOrder
[code]....
which works fine... but only for the first column in the list view.Is there a way of specifying which column to sort based on which is clicked?
I'm using VB 2008 and windows vista. I'm using a listview in my application.(view=details) I assign an image list to listview.smallimagelist. when user try to sort the listview by clicking the column header i use the imageindex property to set an icon for that column header, this works fine. When user clicks another column to sort the listview by that, I use listview.columns(PreviousColumnIndex).imageindex=-1 to remove the sort order icon from the previously selected columnheader, but it does not remove the picture from the previous columnheader. How should I remove the icon(picture) from the previous column header?
Does anybody have any idea how i can sort a listview by the items backround colour? At the monent the listview looks very messy with all the colours in different places and i dont think the users will be too pleased!!! Iv been trawling the net but cant find anything.
After a long time searching, I am still facing an issue with my listview column header I am trying to add a sort indicator (a small 16x16 arrow, next to the column title - looks quite good).
- My listview is in Ownerdraw mode for : Items & Subitems for a couple of reasons
- So far, I was letting the system do the job for the header (e.drawdefault = true)
I managed to add very easily the arrow using the e.graphics class, right after the e.drawdefault=true, and it is actually working good.
As you can see, I'm simply using a resource, and am forcing it to 16x16 with a custom location x=34 pixels y=2pixels My issue comes with the following :
The arrow wont draw Of course the sort indicator will sometime be on the 2nd column etc.. That's why I need to use the column header's bounds.I can already hear you saying : if you do not owner draw, you can't..But why is it working with a static location (, 34, 2, 16, 16) ans not starting from another static location (e.bounds.x) How can I fix that ? I cant find previous issues similar to that one over the internet.
Points of interest :
- I tryed to load the int value e.bounds.x into a variable before, using that instead of e.bounds.x but it's all the same.
- Using the imagelist is not an option, As you can tell from the screenshot, I am already using images for headers.. the sort indicator is coming as another image
- Using ">" or "<" in the header's text is not an option either........ (sorry pal It does not look good at all..)
- Drawing the header totally in owner draw mode would be an option, but it looks quite hard to do (need to manage the "rounded" header style of the system, the mouse over - small yellow line rounded on the sides in WinXp, the click effect....).
I have a listview that has multiple columns. I am wanting to sort these columns when clicking on the column header.I see there is a sort function, but am not having much luck in using it.How can i sort my listview when clicking on the column header?
I have a listview control that I have a multitude of files displayed, in addition there are 6 columns in the listview that shows information about the file in question.
I have gotten this far, but my question is this: how do I allow the user to sort the listview by clicking on the column headers. Like one can do in list view in a Windows window?
How to sort items in ListView by column bound to an Observable Collection ?I've looked all over the place and I can't find anything easy enough or simple on this.
I'm sorting a collection of type "Document" (usually around 100k records). Sorting usually takes around 4-5 seconds, and I'm wondering if there's a way to speed up sorting by modifying my "DocumentComparer" class which implements IComparer(Of Document). Since the Compare() method would be called hundreds of thousands of times, are there any performance improvements that could be made here that I've overlooked?
I created an array sorter to sort arrays like in Win Explorer in a DNN module. As in the answer to a preview question: Sorting an array of folder names like Windows Explorer (Numerically and Alphabetically) - VB.NET