List That This Enumerator Is Bound To Has Been Modified - An Enumerator Can Only Be Used If The List Does Not Change?
Apr 25, 2009For
Each
Item As
DataRowView In
lbOrdersNeedToBeVoided.Items
[code]....
For
Each
Item As
DataRowView In
lbOrdersNeedToBeVoided.Items
[code]....
It looks like passing a list's enumerator to a function "byval" is quite different than passing it "byref". Essentially, regular "byval" passing will NOT change the caller's "enumerator.Current value", even if the function advances the enumerator. I was wondering if anyone knows why this is the case? Is an enumerator a primitive like an integer, without an object reference, and hence changes to it don't get reflected in the caller?This function is byval, and gets stuck in an infinite loop, spitting out "1" message boxes, because the enumerator's "current" never advances past 5.[code]The difference between the two functions is only whether the listFirstItem__ function accepts a byval or a byref enumerator.
View 2 RepliesI tried utilizing a collections Enumerator inside of a USING block to take care of the Enumerator.dispose call for me, however, I'm getting NullReferenceExceptions when trying to access the Enumerator.Current property after doing a MoveNext.
[Code]...
I have these variables as shown below. The FadeMode is assigned on of the 3 integer values. I would like it to work like an enumerator, so that when I working with the code editor, IntelliSense offers a choice of the 3 possible values. Like x = Fademode.FadeOut
Const FadeIn As Integer = 0
Const FadeOut As Integer = 1
Const FadePause As Integer = 2
Friend FadeMode As Integer = FadeIn
If I am using an enumerator to parse a collection such as
Code:
''' <summary>
''' Checks to see if Node1 is a direct child of Node2
''' </summary>
[Code].....
The object comparison of Enumerator.Current and Node1 passes an option strict check, but should I for readability and or for any other reason cast it to the correct type? I know their object references will ultimately be checked the same way, but is it generaly bad form to assume this?
Second question. I recently came across the use of the Enumerator v/s a For/Each loop through the collection, does anyone know the pros/cons of the use of either in specifi situations. Where one is favorible to the other or where they should or should not be used?
I am looking for a way to read an XML file at run time and construct an Enumerator from it. I got the reading and writing all working, it's just getting all the strings to create an enumerator that's the tricky part. I could get them into a collection of strings or maybe a dictionary, but not sure how to go about converting from these into an enumerator. The goal of this is to allow users to add and delete items from the underlying enumerators and eliminate writing hard coded enumerators. My idea is to allow users to extend the program without coding. This is a Winform vb app thats not using any database but just XML files to store and retrieve things.
View 7 RepliesAccording to the language specification guide for VB.NET Section 10.9.3. The enumerator expression in a for each loop is copied over into memory. If I have a list of 10000 objects that list will be in memory twice for the code below?
dim myList as new list(of bobs)
'put 10000 bobs in my list
for each x In myList
'do something
next
If I were generating the list from a linqQuery or some other such query it would make sense to generate that list at the for each loop statement thus not having the list in memory twice for example.
for each x in myList.where(function(x) x.name = Y)
'do something
next
If the LINQ query is unreadable on the for each loop, do I forgo readability and just put it on the for each loop declaration line? Should I declare the list in its own variable and just bite the bullet and have the list exist twice in memory?
if a call to For Each starts by calling the Enumerator's MoveNext, then Current, then MoveNext, then Current, and so on until MoveNext returns a False then it exits, am i right to say that the Reset is never called?initially i thought that Reset would be called when MoveNext returns False, i tried this (a msgbox would come if it was ever called but i got no msgbox at all)
[code]...
if that's the case, what exactly is the use of the reset in an ienumerator, and is it ok to leave it empty, as such
Is that possible to get current Enumerator (...or iterator? Don't know which tern is the correct one) in a LINQ query ? For example, I try to create a XML output (via LINQ to XML) of all currently loaded assemblies. [code] is it possible to somehow get current "index" (counter?) from LINQ's Selects? I would like to use it in XML. [code]
View 1 RepliesThis is probably a really basic question - but I have a list of items (custom objects) being passed from one winform (.net 3.5) to another. I want to create a local list to store changes that only get persisted if the user clicks save. Currently if the user clicks cancel - the changes are still applied in the first form because I assume the objects are reference type.I have the save working as it calls a service layer to do the save and then refreshes the other form - but not the cancel.
View 1 RepliesI have a BindingList of transactions that I am binding to a DataGridView. The client now wants each row to have a sequential number. (1,2,3, etc).There could be hundreds of transactions. So is there an efficient way to assign a sequential number to each item in the bindingList?I know I could For/Next through and manually assign an incrementing index. But I am concerned about the performance when we process lots of transations.
View 1 RepliesIs this possible? Using VB.NET.
Can I do it in the footer maybe? Would that be the best way? Bind the footer to a datatable and throw some blank rows in there?
I have a gridview in asp.net/vb and it is bound to a list - so there's no standard sorting available. I've found this jQuery plugin for sorting tables: [URL]. The plugin requires <thead> and <tbody>. The problem is, that my gridview only renders the <tbody>.
I've already tried
DataList.UseAccessibleHeader = True
DataList.HeaderRow.TableSection = TableRowSection.TableHeader
But this changes nothing.
My gridview markup:
<asp:GridView runat="server" CssClass="grid" ID="DataList" AutoGenerateColumns="False" AllowSorting="True" ClientIDMode ="Static">
<Columns>
<asp:BoundField HeaderText="SomeHeaderText" DataField="SomeDataField" />
<asp:BoundField HeaderText="SomeHeaderText" DataField="SomeDataField" DataFormatString="{0:dd.MM.yyyy}" />
[Code] .....
On my form I have 3 textboxes. They get their data from a database query. The trick is the database may return 1 result or up to 3. If the query returns only 1 result, I want the first textbox populated, 2 results, 1st and 2nd textbox populated, etc... I also want to be able to track CurrentItemChanged Event for updating purposes. My initial thought was to use a list object as the binding source but how would I cycle through the list if it returns more than one so that I can assign the values to the 2nd and 3rd textboxes or if data is entered in to a blank textbox I want the currentitemchanged
View 6 RepliesI have a datagridview that is bound to a list object of a custom type via a BindingSource. From everything I've read, I should be able to click the column headers and the rows sort, This doesn't happen for me. Sortmode is set to automatic and the column headers aren't set to be used for selection so it should work.
I know that I could sort progamatticly but that seems a little bit of a waste given that I should just be able to do it by default.
I have a gridview that is bound to a datasource on a Windows Form (VB.NET). The grid displays a list of "certifications", and each "certification" can be associated with many languages. So in the grid, I'd like to display "languages" as a column, and display a comma delimited list of the language names for each "certification".
In the "certification" class, one of the properties is a list of "language" objects, and each "language" has an ID (guid), name (string), and value (integer).
So in the datasource, I have the list of "languages", but I can't figure out how to display them in a column on the grid. The gridview won't let me add the language list property as a column.
So is the ONLY way to add a new property on the "certification" class, which returns a string that contains the comma delimited list, and show THAT on the grid? Or is there a way to display that list of "languages"?
I am using a DataGridView bound to a BindingSource which is itself bound to a List of objects. This all works well until I remove objects from the list. If I am scrolled down to the bottom of the DataGridView and then remove a bunch of items from the list it is bound to it generates a DataError exception because the length changed and the rows I am looking at no longer exist... I changed my code to handle that error, but now instead of popping up a message it SLOWLY erases the data in each of the newly invalid rows at the end of the table (I think each time it does one it generates a new DataError, which is why it is so slow).
How do I prevent this? I want to be able to dynamically (and programmatically) add and remove items from the table without the possibility of this error... I assumed this would be handled automatically as part of the data binding process but I guess not.
I have the following classes:
Product, Service and OrderItem
Product and Service must inherit OrderItem. So basically I want to store OrderItem object in my shopping cart and these object are store in a list.
Public MustInherit Class OrderItem
Private m_enuItemType As TypeOfItem = TypeOfItem.None
Private m_strUserID As Integer[code].....
I have a main form with datagridview containing a list of contacts:
VB
Public Class Form1
Private Db As New DataClasses1DataContext
Private Sub Form1_Load
[Code]....
After saving, I get the correct message ("Saved"), and the DataGridView in the first form gets updated in real time.
But... when I take look at the data (or close and reopen the forms) the data in the database (SQL server) have not changed! What happens!
i'm developing .NET app. and using some vb6 common controlsin design mode I can create image list and attach it to toolbar control but when I'm programatically adding toolbar buttons
Toolbar.Buttons.Add(, "tbsave", "Save", MSComctlLib.ButtonStyleConstants.tbrDefault, toolbarImages.ListImages(1).Picture)
I want it so every time I click an ITEM in the Listbox it displays ALL the data into the textbox. I know there's an easy way using table adapters and binding the listbox, but I'd prefer to do it this way for my project.
So this is what I got.
Lst.DataSource = ds
Lst.DisplayMember = "tblStudent.FirstName"
Lst.ValueMember = "tblStudent.StudentID"
[code]....
It only adds the first rows details to the text box when I click the second record the first rows details are still there.
how to change 2nd drop down list value after I selected the 1st drop down list value.
The best example is country and state. After user selected country, the state value should change accordingly.
I am still new in ASP.NET and I know in PHP it can be easily done using javascript.
May I know how to do it in ASP.NET using VB language?
I needto change the icon of the selected list view item upon double clicking it and also is there a way to change the ablolute path to the
project folder where the icon is to relative path so that even when you install it to other pc it will work
II am trying to create a toggle button that switches a list to a range and then back to a list if needed. I am able to get it to do both but when I add an item to the list, convert to a range and then convert back to a list it leaves off the last items I entered.I tried to work in a code to select all cells but I must not be putting it in the right place.This is what I have so far:
ActiveSheet.ListObjects.Add(xlSrcRange, Range("$A$3:$AE$7"), , xlYes).Name = _
"List1"
I realize the problem is the $AE$7 (the $A$3 is correct)
In VS 2008, VB.Net, I am successful connecting to a local SQL Server (version 8) and seeing all tables/views/procedures in Server Explorer. The local OS is Win XP Pro SP3. I created an ODBC data source to a remote SQL server (also version 8) with a database of the same structure as the local one. The connection tests out ok. The remote computer runs Windows Server 2000 SP4. In the VS 2008 Server Explorer I add this ODBC source. When I click on the plus-signs to expand items, neither the tables nor the views show anything, whereas the full list of procedures appears. Is it the old SQL Server version? Is it the old Server OS version? Something else alltogether?
View 2 RepliesThis is what I'm sure will be the first of many noob-ish questions from yours truly... I'm studying as a mature student for a Computing Degree (encompassing web design, hardware, programming and systems analysis). The programming seems to be my weak spot this year. I enjoyed C++ last year, doing basic console applications, but progamming visually with VB in Visual Studio 2008 I'm struggling!
[Code].....
Does link text mean I have to return a concrete implementation? Even though I am using svcutil with the /r that includes my entites(where IMyInterface is defined). I get no errors but it changes all List(of IMyInterface) to list(of Object) and I cannot deserialize it on the client
Error: list(of object) cannot be converted to list(of IMyInterface).
I'm looping all the properties in an object via reflection:
For Each p As PropertyInfo In values.[GetType]().GetProperties()
If p.CanRead Then
'Do stuff
End If
Next
how to determine whether the property in question is a generic List(Of T)? If it is I need to loop the list itself.
I've experimented with GetType and TypeOf but have not managed to get anything working.
To clarify, I want to keep this generic. I do not want to specify the type of T, I need to loop the list items and call the ToString method on each item. T could be one of a number of different types (application specific reference types). Is it possible to do this without specifying types?
(VB.NET 2005 with .Net 2.0)
If I can generate a list of random integer with a click of the button and put the results in a list box using VB.Net but how do I randomly change several integer number generated by button 1 by clicking button 2? How I retain the results of button1 and change the results when clicking button2?I try before but the two button function code cannot relate to one another.
View 1 RepliesPublic Class notifierMain
Public Class Contacts
Inherits List(Of row)
Public Sub New()
[code]....
When I debug this winforms application I get curType = "notifier.notifierMain+Contacts+row" I want to the Validate function to know it is in MyContacts. How do I do this?