Perhaps I have the wrong construct, or misunderstand arrays in vb (2003)....
I've loaded a two-dimensional array (168 by 28) into memory as AcctArray.
{Dim AcctArray (500,28) as string...}
The AcctArray is loaded from a Quickbooks table, so there's no intrinsic
dataset to assign as datasource....
I want to have a combo table (or list table or whatever), currently named
cbAccounts, that can scroll through and maybe select items in the array. I
don't want to display all elements, just columns 1,2,6, and 13...
How do I construct this? A combo box is supposed to have as its datasource
an "array", but I can't seem to accomplish it. I can do
cbAccounts.Items.Add(AcctArray(j,1) & " " & AcctArray(j,2) & " " &
Acctarray(j,6) & " " & AcctArray(j,13))
but that doesn't accomplish my objectives...
Can someone give me a nudge?
Thanx in advance
--
Jim Shaffer 4 23255
You're on the right track. The datasource must implement IList.
As you concatenate the items you want to display from the array, use a loop
to add each resulting string to an ArrayList.
Then set the Combobox datasource to the arraylist.
When you select an item from the dropdown, the selectedindex property will
correspond to the second dimension index of your original array, assuming you
use each item in the original array.
You might also look into the displaymember and valuemember properties of the
ComboBox. If you wanted to use them you might use a Datatable instead of an
ArrayList. You would then assign those two properties to the appropriate
fields. This approach allows you to use the SelectedValue property of the
ComboBox. www.charlesfarriersoftware.com
"Jim Shaffer" wrote: Perhaps I have the wrong construct, or misunderstand arrays in vb (2003).... I've loaded a two-dimensional array (168 by 28) into memory as AcctArray. {Dim AcctArray (500,28) as string...}
The AcctArray is loaded from a Quickbooks table, so there's no intrinsic dataset to assign as datasource....
I want to have a combo table (or list table or whatever), currently named cbAccounts, that can scroll through and maybe select items in the array. I don't want to display all elements, just columns 1,2,6, and 13...
How do I construct this? A combo box is supposed to have as its datasource an "array", but I can't seem to accomplish it. I can do
cbAccounts.Items.Add(AcctArray(j,1) & " " & AcctArray(j,2) & " " & Acctarray(j,6) & " " & AcctArray(j,13))
but that doesn't accomplish my objectives...
Can someone give me a nudge?
Thanx in advance
-- Jim Shaffer
Jim,
That usefull however terrible combobox have 2 methods for binding and one
method to add items.
It is the adding of items
the binding from the textboxpart (what is not your option)
the binding using the datasource to an Ilist array
You go now for adding items from the array to the arraylist from the
combobox.
That is not directly binding. What you can do is creating an array with
objects. Those you can bind using the datasource to the combobox. You can
get the information by casting it to a datarowview.
Because this I find more work than needed, I make in this kind of situations
just a datatable and bind it using the defaultview to that combobox. That
cost at least 10 times less time to do.
Just my thought,
Cor
Jim,
In addition to the other comments.
| How do I construct this? A combo box is supposed to have as its datasource
| an "array", but I can't seem to accomplish it. I can do
I've bound to single dimension arrays without any problems, I have not tried
binding to either 2 dimensional arrays or jagged/ragged arrays before.
I will see if I can find any information on binding to a 2 dimensional
array.
In the meantime, you could always convert the array into a DataTable.
Something like:
Const rows As Integer = 0
Const columns As Integer = 1
Dim table As DataTable
For rowIndex As Integer = acctArray.GetLowerBound(rows) To
acctArray.GetUpperBound(rows)
Dim row As DataRow = table.NewRow
For columnIndex As Integer = acctArray.GetLowerBound(columns) To
acctArray.GetUpperBound(columns)
row(columnIndex) = acctArray(rowindex, columnindex)
Next
table.Rows.Add(row)
Next
Which assumes that "table" has the same number of columns as your array.
Hope this helps
Jay
"Jim Shaffer" <us****@shafferassoc.com> wrote in message
news:jO********************@comcast.com...
| Perhaps I have the wrong construct, or misunderstand arrays in vb
(2003)....
| I've loaded a two-dimensional array (168 by 28) into memory as AcctArray.
| {Dim AcctArray (500,28) as string...}
|
| The AcctArray is loaded from a Quickbooks table, so there's no intrinsic
| dataset to assign as datasource....
|
| I want to have a combo table (or list table or whatever), currently named
| cbAccounts, that can scroll through and maybe select items in the array. I
| don't want to display all elements, just columns 1,2,6, and 13...
|
| How do I construct this? A combo box is supposed to have as its datasource
| an "array", but I can't seem to accomplish it. I can do
|
| cbAccounts.Items.Add(AcctArray(j,1) & " " & AcctArray(j,2) & " " &
| Acctarray(j,6) & " " & AcctArray(j,13))
|
| but that doesn't accomplish my objectives...
|
|
| Can someone give me a nudge?
|
| Thanx in advance
|
| --
| Jim Shaffer
|
|
Jim,
I was playing with this a little.
Is this Windows Forms or Web Forms?
In Windows Forms, you can bind a list control (ListBox, ComboBox, DataGrid)
to a one-dimensional array, however you cannot bind to a two-dimensional
array. Which is understandable, as the list controls use IList to support
binding. Array implements IList. If you use IList from a one-dimensional
array you get the list of numbers. If you use IList from a two-dimensional
array you get a single list of numbers & not the rows & columns...
Try the following:
Dim values(,) As Integer = {{11, 12}, {21, 22}, {31, 32}}
Dim list As IList = values
For Each item As Object In list
Debug.WriteLine(item)
Next
What values are printed?
The short of it you cannot bind to a two-dimensional array. I would
recommend you convert the two-dimensional array to either a one-dimensional
array, an ArrayList or a DataTable...
Hope this helps
Jay
"Jim Shaffer" <us****@shafferassoc.com> wrote in message
news:jO********************@comcast.com...
| Perhaps I have the wrong construct, or misunderstand arrays in vb
(2003)....
| I've loaded a two-dimensional array (168 by 28) into memory as AcctArray.
| {Dim AcctArray (500,28) as string...}
|
| The AcctArray is loaded from a Quickbooks table, so there's no intrinsic
| dataset to assign as datasource....
|
| I want to have a combo table (or list table or whatever), currently named
| cbAccounts, that can scroll through and maybe select items in the array. I
| don't want to display all elements, just columns 1,2,6, and 13...
|
| How do I construct this? A combo box is supposed to have as its datasource
| an "array", but I can't seem to accomplish it. I can do
|
| cbAccounts.Items.Add(AcctArray(j,1) & " " & AcctArray(j,2) & " " &
| Acctarray(j,6) & " " & AcctArray(j,13))
|
| but that doesn't accomplish my objectives...
|
|
| Can someone give me a nudge?
|
| Thanx in advance
|
| --
| Jim Shaffer
|
| This thread has been closed and replies have been disabled. Please start a new discussion. Similar topics
by: Rod |
last post by:
I have an Access database with the 3 fields in
, ,
I create a dataset and bind a form to it, no problem.
I now want to put in a combo box to...
|
by: Shravan |
last post by:
Hi,
How can I bind DataRow array to ComboBox.
I tried setting
DataSource -> DataRow Array
DisplayMember -> ColumnName
But it was showing...
|
by: SoftWhiteDelgiht |
last post by:
Help me. I am obviously stupid! :-)
I am just starting out with VB.Net and am trying to do a simple master/detail form with a SqlServer backend.
I...
|
by: Larry Serflaten |
last post by:
I am not sure how many are aware of this sort of data binding,
but as it is new to many (classic) VB developers I thought I
would post this once...
|
by: JSantora |
last post by:
Essentially, InsertAT is broken!
For the past couple of hours, I've been getting this "Parameter name:
'-2147483550' is not a valid value for...
|
by: Roger Odermatt |
last post by:
Hello
I have binding a class to a DataGridView and this class have a property from
another class and this i want binding to a...
|
by: Monty M. |
last post by:
Does anyone know how to perform two way data binding between a combo
box and a listview.
The listview is bound to a dataset table in code:...
|
by: Max |
last post by:
Hello,
I made a windows form with a combo box and 4 text boxes. All 5 objects should get their data from a data set which is populated
in the...
|
by: =?Utf-8?B?UiBSZXllcw==?= |
last post by:
Hi,
Problem: How can I databind (or put) a SqlServer query's row return of
115,000 items into a ComboBox quickly? Not much longer than a matter...
|
by: concettolabs |
last post by:
In today's business world, businesses are increasingly turning to PowerApps to develop custom business applications. PowerApps is a powerful tool...
|
by: better678 |
last post by:
Question:
Discuss your understanding of the Java platform. Is the statement "Java is interpreted" correct?
Answer:
Java is an object-oriented...
|
by: teenabhardwaj |
last post by:
How would one discover a valid source for learning news, comfort, and help for engineering designs? Covering through piles of books takes a lot of...
|
by: Kemmylinns12 |
last post by:
Blockchain technology has emerged as a transformative force in the business world, offering unprecedented opportunities for innovation and...
|
by: CD Tom |
last post by:
This happens in runtime 2013 and 2016. When a report is run and then closed a toolbar shows up and the only way to get it to go away is to right...
|
by: jalbright99669 |
last post by:
Am having a bit of a time with URL Rewrite. I need to incorporate http to https redirect with a reverse proxy. I have the URL Rewrite rules made...
|
by: antdb |
last post by:
Ⅰ. Advantage of AntDB: hyper-convergence + streaming processing engine
In the overall architecture, a new "hyper-convergence" concept was...
|
by: Matthew3360 |
last post by:
Hi there. I have been struggling to find out how to use a variable as my location in my header redirect function.
Here is my code.
...
|
by: AndyPSV |
last post by:
HOW CAN I CREATE AN AI with an .executable file that would suck all files in the folder and on my computerHOW CAN I CREATE AN AI with an .executable...
| |