VS 2010 Consolidating Code - Use A Single Datasource (containing All 80 Fields)
Aug 1, 2011
I am converting a VB 6 app to VB.Net. In the vb 6 version I have a table that contains roughly 80 fields. Over that table the users currently have a single form which gives 12 diferent views. Each view is placed on a different tab, which, although giving a distinct set of fields per tab, also leads to a ton of duplicated code. Changing the underlying table is not an option.
What I would like to do is to use a single datasource (containing all 80 fields), a single datagridview on the form, and have a combobox act as the filter choice for the differing views. Does my solution seem like the right way to handle this? If so, I'm not sure I know which controls would best be used.
I've got to the stage where I want to make changes to my application so that all of my forms appear to the user as a single window.
I have a main Form with a menu bar which opens up three separate forms. Only one forms is visible at any time.
One way to do this, that I can think of, is to place all the controls from each of the "auxiliary" forms on a panel contained in the main form and then show and hide the panels, when needed. I can envisage this being a big headache though.
Another way would be to give each form a menu bar and make it look like the main form so that the user would not know the difference (with a bit of luck).
I just wonder if there are better ways to do this. Maybe if I could incorporate one form into another form?
Just suppose that I define a structure, and an array such as
Structure Person Dim First_Name as String Dim Last_Name as String
[code]....
Can I fill in my list of people using a single line of code for each record? Something like this, it doesn't work, but this shows the sort of thing I mean.
It's easy enough to fill it in line by line. I could do that without problem. But I want to be able to look at the code and see the contents of each line. Doing it as above would make it easier to read.I could make it a multidimensional array of strings, rather than a structure.If it makes any difference I'm using Visual Basic 2005 Express Edition.
My program has two forms which get data from the same data source. After binding controls to tables and fields on both forms, I noticed each form has it's own apparently duplicate DataSet. Is it standard practice for each form to have its own DataSet even though they use the same ConnectionString and connect to the same database at the same time?
I have tested my code in order to pass single value to single parameter field in crystal report from VB.NET Form, it is ok but the problem is that I want to pass multiple values to only one parameter field called "Product Name" and it displays only one last record.
I want to display like this
Receipt : 0001 Product Name pencil pen stamp book
[Code]....
I already set parameter field "productname" for allowing to multiple values, but it is still the same.
Not quite sure how to attack this one. If I have an array list how would I go about elminating duplicates but adding the values of those items together. In other words if I have one item that has a id of 9000 and a quantity of 5 and another item that has the same id of 9000 and a quantity of 10. How would I eliminate the duplicate but add the quantities
I'm reading a binary file into a bindinglist of (t); to be bound to a datagridview.Each line in the file represents a single transaction but I need to consolidate and or filter transactions that meet certain criteriaI know how to do this from a mechanical standpoint (looping the list while adding each item, and adding a new item, or merging the data with an existing item), but I'm looking for a practice, pattern, existing components, or something else that I'm missing (I'm drawing a blank for keywords to search).I don't want to reinvent the wheel if I don't have too. I'm particularly concerned with speed and performance issues with 100k plus records to process in some instances.Currently working with .NET 2.0, but will move to 3.5 if a particularly sexy solution exists.
i have 3 Combobox and 1 Bindingsource in my form, i want to add the Bindingsource to the combobox's datasource like this
[Code]...
So i want to ask if someone can help me make the 'DataSource' member of 'System.Windows.Forms.Control' or are there any other way to add datasource for all the comboboxs without manual adding each one.
I've gotten to a point where I'm trying to add a ComboBox to a UserControl, and to populate it from a collection which exists in code.
I've been getting along pretty much on monkey-see-monkey-do coding for the most part; copying and adapting existing code in order to get the next stage working, but this DataSource stuff has me stumped. I've been through a whole bunch of articles on MSDN this morning and am no closer to understanding than I was when I started.
Let me go through a few of the things that are messing with me, and hopefully you guys will be able to point me in the right direction:
1) None of the [UserControlName].vb files contains any code. All of the code for the UserControls is stored in [UserControlName]Model.vb files, and then code of the following sort is used:
1.5) (using bullet points means I can't use <> brackets or code blocks later on. What the hell, markdown?) Anyway...
2) I'm pretty sure I only want a Static Source for the moment, as the items in the ComboBox aren't going to change during execution, at this time. Problem is, all the articles I can find about this are gigantic, complex things about creating XML readers, and populating DataGridViews and sorting data, and on and on and on. I just want to declare that I'm using a frealing List! A List I've already created in code.
So, yeah, I basically need to use a Public Property ComboBoxLines As List(Of String) from a class which isn't the same class as the UserControl itself as the DataSource for a ComboBox.
I have this Text: Hello <<FirstName>> <<LastName>> in which the <> and <> are merge fields in a document, and I have a list of customers in an array which I want to allocate them to these fields. How do I do that?
Currently working in VB 2008 Pro. I have a web site connected to an SQLExpress database. I have a databound form that needs to calculate some basic math. I have a button Click event in code behind file, when I try to enter code intelisence not active and fields not available. I tried to work the math in the select query SqlDataSource, but form would not update only insert.
In my project,, I have three forms. In my main form, I have a DataTable filled with some data from a MySQL-server.In the two other forms, I have a DataGridView which is bound to a BindingSource, which again is bound to the same DataTable in the main form. So It looks something like this:
I am having issues understanding why it is that a text box that has been bound to a dataset correctly updates that dataset when the text in the box is manually changed i.e. by changing it using the keyboard but the dataset does not recognise the change when I change it in code.Am I missing something obvious? The text is changed in code when the user clicks on a command button that copies the text from another textbox on the form to this textbox.
[Code]...
As i mentioned, manually it works fine but when I use the comman button to change the text it does not recognise that any changes have occured.
I have a ComboBox which is bound with a DataSource from (obviously) a Database. However, there are 659 different entries inside this Database and I was hoping to tack on AutoComplete.
I tried setting the Source to the ListItems since, after initialization and the data is bound, all the items necessary are in fact inside the ComboBox so I had assumed that it would pick that up. I was wrong. I tried using a Custom source but VS errored out saying that I couldn't do that since the ComboBox was bound.
My question is, how can I utilize AutoComplete's "Suggest" mode with a bound ComboBox?
I'm having an issue wherein my combobox is populated from a datasource (access database >> [URL] and unwanted duplicates are shown.
-Example- [URL]
How can I make it so no duplicates arise?
Also on another note...I'm having difficulties linking the 2nd combo (model) to the first (make).
I would like the program to function in such a manner that
>makeCombo is populated from the database >the user selects the Make of the vehicle from makeCombo >modelCombo is populated from the database according to the make selected >the user selects the Model of the vehicle from modelCombo >user hits search >datagrid is populated with appropriate vehicles
I have an SQL statement which i need to code in vb:
CODE:
Notice the fields prodno1 and prodno2 in the table structure.. this is part of a number of sql statements i need to run and put inside a loop. my problem is i want to automatically use this same code such that on the next loop, this sql statement is going to be:
CODE:
Note that in this "2nd loop"
- the table name is now r3 from r2 in the first SQL statement - there are now prodno1, prodno2 and prodno3 instead of just prodno1 and prodno2 - in the WHERE clause, the p.prodNo becomes p.prodNo2
And so on and so forth.. so for the 3rd loop
- there's going to be r4 - there's going to be prodno4 - in the WHERE clause i will use p.prodNo3
I am relatively new to the whole .NET thing, coming from a VB classic background.On my form I have a tabcontrol, with 4 tabs. Most of the code is handled using a shared handler, but for the others I have to write a handler for each.How can I optimize these routines into a single procedure?
Private Sub cboCalc0_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cboCalc0.SelectedIndexChanged 'Page 0 If (Not (IsNothing(trvSignals0.SelectedNode)) And txtSignalName0.Enabled = True) AndAlso trvSignals0.SelectedNode.Level = 3 Then
I am customizing a DataGridView control. The DataGridView is supposed to be bound to a collection of some type (be it a List(Of T) or ArrayList or whatever), and the idea is that one can easily determine (at design-time in this case) which properties of the type have to be shown in the grid and which column header name they should get. One can do this using an attribute. For example, if I have a class Person with Name, Age and HairColor and I don't want to show the HairColor property, and want to show the Name property as 'Person', I would use:
vb.net Public Class Person <Grid.GridOptions(displayName:="Person", visible:=True)> _ Public Property Name As String
[code]....
I do this during run-time by simply looping through the properties of the bound type (in this case Person), retrieving the GridOptions attribute (if any) and checking the values provided. This works just fine except for one thing: I'm not really sure how to determine the type in the databound collection...
At the moment, I cast the DataSource property to an IList and retrieve the type of the first instance in that list (if any). If there isn't a first instance (the list is empty) then I don't know how to get the type... Often I know that it will be impossible to know the type. If someone is binding an ArrayList for example, then it's impossible to know what kind of items he's going to put in that ArrayList. Even the normal DataGridView cannot show any columns when databound to an empty ArrayList. However, the framework's DataGridView does show the columns when bound to, for example, an empty List(Of Person), or a Person array.
I'm pretty sure that casting the DataSource to an IList is not the correct way as all information about the type of items in that list is then lost. But I'm not sure what else to cast it to... ITypedList? IBindingList? I even considered List(Of T) because that's all I am going to be using, but besides the fact that the grid would then obviously only work for a List(Of T) I still don't know how to do this... I don't know 'T' so I can't cast it to a List(Of T)...
I have a ReportViewer showing a report that is bound to a dataset. The dataset gets its data from a Access database backend. I have a separate form that allows the user to add/update/delete data. My problem is when the user makes changes to the data using the data entry form, the report does not reflect those changes. I have to close the entire program and reopen it before the changes take effect on my report. This piece is used to bound the report to the dataset
Like i want it to read the lines i have in the text file but i get an error Each time i press the button Why?
Private Sub Button5_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button5.Click Dim objreader As New System.IO.StreamReader("C:UsersJamesDesktopMusicas.txt") Do Until objreader.EndOfStream
[code]....
Error:
Quote:
Items collection cannot be modified when the DataSource property is set.
I want to know how to perform row delete to datatable which is a datasource to the grid.
In details: I have a datagridview (dg) and its datasource is set to dtItem. User will select some rows in dg and press 'delete' button.
dg.DataSource = dtItem;
I will perform a loop and delete the records. Here is the code eg:
foreach (DataGridViewRow drw in dg.Rows) { if (drw.Selected)
[Code]....
The problem is it didn't delete correctly. If user selects row index 0 and 1 in dg and delete it, it will delete the first one correctly and then finished cuz no more row is selected in next gridviewrow.
I tried google and didn't find what I want. may be because i don't know the correct keywords I should use to search.
how to use bit fields (Boolean) in datagridview in visual basic 2010 how to know CheckBox checked state checked or not if CheckBox Checked State = Checked?
I'm currently refactoring an old Visual Basic DLL (VB.Net), which stores all of its data in one module called Globaldefinitions as public fields. There are about 200 fields, referenced thousands of times all around the code:
Public Module Globaldefinitons Public a As Short ... Public zz10 As Double
[Code]...
I need to change the module into a class with non-shared fields. This means, each and every of these thousands of references needs to reference the instance of that class:
globalDefinitionsInstance.a = 5
How do I go about this efficiently?
Regular expressions operating on the source fall flat. Refactoring tools like Re-Sharper or CodeRush don't seem to offer this functionality. Visual Studio 2010 cannot do it automatically either.
Class Foo ReadOnly name As String Public Sub New(name As String, dependentUpon As Foo) Me.name = name
[code]....
The output of New Bar() is:
Dependent created. Dependent upon nothing. Independent created. Dependent upon nothing.
It seems fields are initialized in the same order as they appear in the source code, which (a) leads to an unexpected result, and (b) seems a little puzzling, given that one is normally not permitted to read from uninitialized variables in .NET, yet that seems to be working fine above.I would've expected VB.NET to be smart enough to initialize referenced fields first, and only then those that reference it; i.e. I'd have liked to see this output instead:
Independent created. Dependent upon nothing. Dependent created. Dependent upon Independent.
how to get VB.NET to behave like that instead, without simply having to swap the declaration order of dependent and independent inside class Bar?
I'm trying to create a table in Word using data from a table in Access. There are four fields in the access table that I need. 3 fields are text which I can populate the Word without any issues. However the fourth field is a memo with >255 characters.I'm struggling to come up with the proper code to allow me to populate the Word field with the memo data that has more than 255 characters. The code I have so far is listed below. But when it hits the memo field, it crashes on the line I marked with **. I know it's not text, but I've tried many different field types, but nothing has worked so far.[code]...
My intent is to have the code - on a button.click event - check the Username and Password fields and return an error depending on which is wrong. Or if both are wrong, return a different error message. I've set the username as parts and the password as parts (still learning how to use external authentication). [Code]