Winforms Data Binding: Custom Classes Or Datatable?
Jul 8, 2009
Am in the process of architecting a new windows forms application, and I intend to use Visual Basic 2008 and SQL Server Express 2005. This is my first application in .Net and I really want to observe the best OOD & OOP principles to create an application that is easy to maintain and extend (add new functionality). My issue is in regard to databinding on the UI. From experience, what do you guys recommend to use for databinding? Should I return datasets/datatables from my Business Layer and bind these to UI controls or should I return Business Objects and bind these to UI controls? And what are the pros and cons of each approach?
View 1 Replies
ADVERTISEMENT
Aug 25, 2011
Our shop primarily use "ADO objects" (I'm referring to DataSet, DataTable, and DataRow) for marshaling around data and manipulating it on forms and in grids. We are experimenting with creating shop-flavored counterparts to the native ADO objects so that we can impose our in-house standards on top of them. Implementing this is straightforward with one exception: I want our objects to be bindable to controls.
I'm aware of IList, IBindingList, BindingSource, etc. and have looked at and experimented with these, but I am falling short when it comes to making a class with no hard property names bindable. The native ADO objects are not strongly typed by default. You have column values that you access via the Item property (e.g. row("Age") or row.Item("Age")). The binding examples I've found online deal with strong-typed objects (e.g. row.Age). Essentially, we want to create custom ADO objects (not inherited from the native ones) that still retain their ability to bind to controls. In a grid I would expect to see columns Name, Age and Occupation from a row where these properties are exposed via row("Name"), row("Age") and row("Occupation"). This must be doable as this is exactly what the native DataTable and DataRow provide.
View 1 Replies
Nov 15, 2009
I'm looking for a line or two of code that will bind a DataSet.Datatable column to a textbox on a Datarepeater?
View 2 Replies
Jan 19, 2009
I'm following advice to load data to a DataTable, binding to a BindingSource then a DataGridView. But some exzamples I've found use a DataAdapter, not a DataTable. [code]
View 3 Replies
Nov 6, 2009
How can I develop a custom data source control for WinForms ? This example is just for ASP.NET. VS version: VS 2008
View 7 Replies
Sep 22, 2011
Custom Object Master-Detail Data Binding
View 2 Replies
Feb 16, 2012
I 'd like to enable the user to apply a custom filter to a System.Data.DataTable.At the moment I have a very simple function like this:
Dim result = dataTable.Select(txtUserInput.Text)
With the filtered results I'd like to do further operations(e.g. Database Update/Delete).Is an sql injection protection needed or is the "Select" function secure?
//Edit:Can the "select" function be abused to manipulate any data in the datatable, execute code, ...? If the only danger is that this function can return to much/to less data there is no problem. But if the data in the dataset gets corrupted it's a real problem.
View 3 Replies
Aug 17, 2009
How to bind a textbox in design view to a LINQ to SQL datacontext class?
View 3 Replies
Oct 27, 2010
In my Winforms application, i've got a form and an associated business layer class. All controls are bound. When i click a button i call a method on the class which then starts a background worker and returns. The background worker does some processing and finishes.
The problem i'm having is that i'm using a label to display any error messages generated by this background worker, which is fine but after a set time i want to clear the label, so for that i'm using a timer (on the business layer class), which, when it fires, is on a different thread and thus should not update the property that the label is bound to Whats the best way to do update the label? -- Should i be using a delegate to update the property value, if so how do i invoke it?Note i'm also having a problem with getting the databinding of the visible property on this label to work.
View 5 Replies
Sep 23, 2010
I have this code
Public Sub FillCategoryCombobox(ByVal categoryList As List(Of tblCategory), ByVal LvName As ComboBox)
LvName.Items.Clear()
Dim itemValue = New Dictionary(Of Integer, String)()
For Each category As tblCategory In categoryList
itemValue.Add(category.CategoryID, category.CategoryName)
Next category
LvName.DataSource = New BindingSource(itemValue, Nothing)
LvName.DisplayMember = "Value"
LvName.ValueMember = "Key"
End Sub
I receive an error on
LvName.DataSource = New BindingSource(itemValue, Nothing)
Value cannot be null
View 3 Replies
May 4, 2011
What is the best way to bind a property to a control so that when the property value is changed, the control's bound property changes with it.So if I have a property "FirstName" which I want to bind to a textbox "txtFirstName" text value. If I change FirstName to "Stack" the txtFirstName.Text also changes to "Stack".
View 1 Replies
Aug 24, 2011
You have a pseudo-table class and a pseudo-row class. The row is somewhat generic and has no strongly-typed fields. It follows the typical dictionary interface
Dim age As Object = person("Age") 'accessed via default property Item
vs
Dim age As Integer = person.Age 'an actual property typed as an Integer
What's the pattern to use so that we can bind our pseudo table and its rows to a grid or combo box?
Dim rs As New clsResultSet(tblPeople)
Dim id As Object = rs(0)("Id") '913
Dim name As Object = rs(0)("Name") 'Ted[code].....
View 1 Replies
Jul 10, 2010
how can i bind a dgv with text columns + a combobox column to a datatable?
do i need to use a datarelation for the combobox column?
View 8 Replies
Sep 1, 2011
I have been out of VB.Net way too long, I have a custom class in C# that needs to be converted to VB.Net and would like to know the main differences between them. Certain things in C# I cannot seem to do in Vb.Net with classes such as use: public classname or public [classname](DataTable dt) in VB.net
M[Code]...
View 3 Replies
Dec 16, 2010
I already know how to make really basic custom controls where I can pass in new variables to treenodes because of my custom class, but it's not really working out well for me.I figured out how to read the new values & change them while their in the normal treenode because oddly enough once i've passed in an object from my custom treenode class it worked but I want to know a few things.
1.With my custom class, I can't do things like the following.
MsgBox(
New
TreeNode("Today").IsSelected)
If I replace with CustomTreeNode it doesn't work no matter what I do even working with sub/new it always shows a default value instead of what value is, the most I can think of is because sub isn't returning value, but you can't return value in subs, how are you meant to make lines like that work?
2.Also anyways just for sake of having good intellisense & workings is there a way I can make a class of CustomTreeView that's using my CustomTreeNode's so that I can work on things by code in the EXACT same manor I used to given the name is the same but have my new custom values?Currently im stuck passing any changes using the new type & taking it out I type cast over to the custom type again so i can read the values, but I just want was wondering what I need to do to make it work like a real control would.
Anyways is there any way to over-ride the default control or something instead so I can simply add the new variables in there? I want the same functionality of the normal control just with the added variables so I can work with data pertaining to the nodes of each item in the treenode easier.I already used the Tag value to store some information but it's not like that there are 100 different variables to store information & it's not like anyone wants to store lots of values in 1 variable & parse out the one you need, it's possible but if I can create something good here, I want to use whatever I can make instead of taking my time on working on a more painfully difficult to work with, at least later when I might even need even more variables stored pertaining to each of the items.
View 7 Replies
Apr 27, 2010
vs2010 vb.net QUESTION1 If i do a select and fill a datatable and want to access that data from another class. How can I do that? QUESTION1 example
[Code]...
View 1 Replies
Jan 12, 2010
I am trying to bind a simple 2 column data table to a ListBox control with the following code. I am not getting an error but the ListBox is not displaying any items. When debugging, it looks like the DataSource is set to Nothing.
lbAvailable.Items.Clear()
lbAvailable.DataSource = MyDS.Tables("tableAvailableHotFixes")
lbAvailable.DisplayMember = "Name"
[code].....
View 3 Replies
Sep 28, 2011
I developed a windows forms app, using VisualBasic in VS 2010. In my form, first I declared a variable as DataTable (Dim VarTable as New DataTable).
Second, changed the DataSource property of my DataGridView (DataGridView1.Datasource=VarTable)
Third, I filled the VarTable in this way: using a resulset from SqlDataReader, i added row by row.
Dim Result As SqlDataReader=CommandSQL.ExecuteReader
Do While Result.Read()
Dim RowToAdd As DataRow
RowToAdd=VarTable.NewRow()
RowToAdd("Code")=Result("Code")
RowToAdd("Name")=Result("Name")
VarTable.Rows.Add(RowToAdd)
Loop
Fourth, after the user changed data in datagridview, I saved the data back to SQL, cleared VarTable (VarTable.Rows.Clear()), and back to top of form to accept a new code. But here, problems begin. When I execute again the whole code described, the datagridview dont show the entire rows, and sometimes crashed with different errors. Solution? Dont fill VarTable row by row. Use VarTable.Load(Result) to populate the VarTable. I don't know why now works, But just I wanted to share this information.
View 11 Replies
Sep 16, 2009
I'm studying for the MCTS exam 70-536 and have come across the following question:Given the following Visual Basic code sample, which interface must the custom class MyClass implement?
Dim a As MyClass, b As Boolean
a = 42
' Convert using ToBoolean.
b = Convert.ToBoolean(a)
Console.WriteLine("a = {0}, b = {1}", a.ToString, b.ToString)
Before even looking at the possible answers, I can't get past WHY on earth would we be converting the number 42 to a Boolean value?? I tried this and as I suspected it did NOT compile! Is this a trick question or am I missing something? I realized that in order for the code to work, I would need to implement one of the interfaces shown in the multiple choices. STILL, would there EVER be a purpose for this particular conversion?
View 4 Replies
Jan 16, 2012
inherit from two classes in VB.net?We are developing Custom User Controls that inherits from say System.Web.UI.WebControls.Label. We are planning on implementing a bunch of these controls but they will share mostly the same additional properties. We are hopeful about centralising these properties.I have looked into interfaces but it seems they only 'contract' properties you need to implement.
View 2 Replies
Oct 5, 2011
I have a custom collection class. The main member of the class is a List(Of T). I did what this article says: [URl] For some reason though I can only foreach my collection once. The second time it tries it goes out of range because the position does not reset after the first foreach. What am I doing wrong?
[Code]...
View 4 Replies
Jan 4, 2010
I've read (or the only book that covers ado 3.5) is Murach ADO 3.5 and throughout the book, the author recommends using object binding so that's what I've been doing. However, I had a chance to look at all the codes for our applications at work, and only datatables are used.Was curious as to the difference/pros and cons between binding to an object, and binding to a table. I guess my real question is which one should I be using, datatable or object binding? Is there a definite answer or does it depends on the situation and what I want to do?
View 3 Replies
Oct 17, 2010
I have a Visual Basic .Net 2.0 program. I'm moving the settings from an older settings file, to an app.config program settings file. I'm trying to do this as nicely as possible.
So, I added my setting as shown in this image.
On load I do this:
If My.Settings.databaseConnectionSettings Is Nothing Then
My.Settings.databaseConnectionSettings = New ArrayList()
End If
[Code]....
So, the question is, how do I get that arraylist of my DatabaseConnectionSettings saved to persistent storage? I want to do this in the cleanest way possible. That is, I don't want to have to convert it to a string or save it to a separate file every-time I want to use it. I would like to be able to use the My.Settings accessor method.
View 1 Replies
Jul 9, 2011
I'm using a DataGrid to display the below custom classes via a BindingSource, I'm trying to figure out a way to save them to a file either by serialization or by some other method. I've tried a lot, but I think it has a hard time serializing because the Account object has the CharacterList object or something. [code]
View 3 Replies
Jul 10, 2009
I have several different lists I want to call. They all have the same format for the class:
id, value, description, order.
Instead of creating a bunch a classes to return the all of the many lists, I wanted to use generics and just tell it what kind of list to return. However, I can not figure out how to populate the classes.
Here are 2 examples of function in my calling code. This should indicate the type of list and the stored proc used to get the data:
Public Function getTheEyeColors()
Dim glEyeColors As New GenericList
Return glEyeColors.GetALList(Of EyeColor)("GetAllEyeColors")
End Function
[Code] .....
View 4 Replies
Feb 4, 2011
I have a map with a MapItemsControl in my WP7 app that contains pushpins bound to items in a collection of custom classes. The pushpins are bound to properties of the item in the collection via a DataTemplate.When an item is added to or removed from the collection, all pins display correctly, with properties as per bindings, but when just an items' properties are modified, the UI does not update. The bindings just seem to get values from the source item upon loading, but I'd like them to keep the UI elements updated when the source collection items' properties are updated.To illustrate, I'll create a similar example:
Heres a custom class:
Public Class Box
Property CurrentColor As Color
Property Location As GeoCoordinate
End Class
[code]....
Whenever I add or remove items from TempBoxes, the pins all render as they should (e.g. if I specify a color in the collection item, the pin shows the color).Tapping on the item triggers the BoxTouched sub, which causes the item's color to change in the collection, but the UI doesn't change (pin color stays the same).To get the UI to update the color, I have to get it to render the pins again, by adding something like this to BoxTouched:
BoxControl.ItemsSource = Nothing
BoxControl.ItemsSource = TempBoxes
View 1 Replies
Jul 22, 2010
I have a main application and the setup project for the app in a single solution.I have custom classes to detect in sql server 2005 express is installed. if it is not I have classes to install it and create my database.Now I need to call the above classes from my setup project before it installs my actual application on a client pc.
View 2 Replies
Mar 3, 2011
I'm interested in building my own basic Application controller and ditching the Application Framework entirely.Never done this before (or even considered it) but now I'd like to be able to cut out anything that stands in the way of making my App compatible with both DotNET and Mono, for which Microsoft.VisualBasic.ApplicationServices is pretty famous.I start, or links to sample Main Modules for WinForms online? Seems like most of what I find is for Console apps.
View 8 Replies
Nov 1, 2010
I would like to open a new form from some other form, and pass some selected object from a control on that form to the new form. The sensible way to do this, I thought, was as a parameter to the forms constructor. Now I know that the visual studio GUI creates partial classes for my forms, that hold the properties that I can drag onto there in the designer. I assume it also holds a default constructor. Since it might do all sorts of stuff that is needed to initialise the form, I figured I should call it from my custom constructor ala
public sub new(byval my_parameter as Foo)
Me.new()
Me.my_parameter = my_parameter
[code].....
That clearly wasn't it, because it can't find a default constructor. The thing is, visual studio goes trough great lengths to prevent me from seeing the generated constructor, so I know how to access it. This leads me to believe that I am actually doing it wrong, and should have set out on some different path, as the path you are forced in to usually is the sensible thing to do, which I usualy find out way too late.
View 3 Replies
May 16, 2012
i have two datragridviewcomboboxcolumn,and two textbox column in a datagridview.each combobox column is binded to separate binding source.
column names are sl_no,col_empname,col_empworktype,Col_Hours etc.and
displaymember,datapropertyname,valuemember and for comboxcolumn are
col_empname:-emp_name,emp_id,emp_id
col_empworktype:-worktypename,worktypeid,worktypeid
[Code]...
View 1 Replies