Help with displaying partial column name from xml file in combobox using vb.net

Hi,

How do I modify the code below to only display the first 5 records in a table and also from the  to the 12th record. i need to display records in a combobox depending on which categories chosen.

 Private Sub Button8_Click(sender As System.Object, e As System.EventArgs) Handles Button8.Click
        Dim xmlPath1 As String
        Dim dtsetcol1 As New DataSet
        xmlPath1 = System.IO.Path.Combine(Application.StartupPath + "\MainTest.xml")  'grid1
        dtsetcol1.Clear()
        dtsetcol1.ReadXml(xmlPath1)
        Me.ComboBox3.DataSource = dtsetcol1.Tables(0).Columns(0).ColumnName
    End Sub

Thanks,

Victor
vcharlesAsked:
Who is Participating?
I wear a lot of hats...

"The solutions and answers provided on Experts Exchange have been extremely helpful to me over the last few years. I wear a lot of hats - Developer, Database Administrator, Help Desk, etc., so I know a lot of things but not a lot about one thing. Experts Exchange gives me answers from people who do know a lot about one thing, in a easy to use platform." -Todd S.

Fernando SotoRetiredCommented:
Hi Victor;

To part of your question, "How do I modify the code below to only display the first 5 records ", The way you are loading the records does not allow for filtering the rows during the load. You can try removing the rows from the XML before loading or you can try removing/deleting the rows after the rows have been added.

To this part of the question, "also from the  to the 12th record. i need to display records in a combobox depending on which categories chosen", do you mean "from the X  to the 12th record." where X is a number from 0 to 11 and is determine at run time or something else?
0
vcharlesAuthor Commented:
Hi Fernando,

Yes, x is a number from 0 and 11 and determined at run time, how do you remove the columns from the xml file and save yhe new file to a temp table to displays the records?

Thanks,

Victor
0
Fernando SotoRetiredCommented:
That would depend on the schema / structure of the XML. Please post an accurate representation of the XML file so I can show you how.
0
Cloud Class® Course: CompTIA Cloud+

The CompTIA Cloud+ Basic training course will teach you about cloud concepts and models, data storage, networking, and network infrastructure.

vcharlesAuthor Commented:
Hi Fernando,

Below is the structure of the xml file.

 <Root>
<Fields>
<FieldsN>SN</FieldsN>
</Fields>
<Fields>
 <FieldsN>COUNTRY</FieldsN>
</Fields>
<Fields>
   <FieldsN>AGD4</FieldsN>  
</Fields>
<Fields>
 <FieldsN>FIF</FieldsN>
</Fields>
<Fields>
<FieldsN>NSN</FieldsN>  
</Fields>
<Fields>
 <FieldsN>RN</FieldsN>  
</Fields>
<Fields>
<FieldsN>NAS</FieldsN>
</Fields>
 </Root>

Thanks,

Victor
0
Fernando SotoRetiredCommented:
How will you want the list to be filtered / delete items so that they don't show up in the ComboBox?
0
vcharlesAuthor Commented:
Hi Fernando,

Sorry for the late reply, Is it possible for the temp table to only contain the records I want to display?

Thanks,

Victor
0
Fernando SotoRetiredCommented:
To your question, "Sorry for the late reply, Is it possible for the temp table to only contain the records I want to display? ", In short the answer is Yes. But that also will depend on what Temp Table is? Is it a .Net DataTable object, or an SQL Temp Table or something else and how you will be filtering the rows for the ones you want to display.
0
vcharlesAuthor Commented:
Hi Fernando,

In previous post you suggested it may be best to delete the rows of the records I don't want to display, I would like to access to new file with deleted rows to a temp table using the .NET DataTable.

Thanks,

Victor
0
Fernando SotoRetiredCommented:
Hi Victor;

In order to get a solution to your question lets try it this way. The original post you posted will not work because of this line of code.
 Me.ComboBox3.DataSource = dtsetcol1.Tables(0).Columns(0).ColumnName

Open in new window

You should have gotten an runtime exception something like "Complex DataBinding accepts as a data source either an IList or an IListSource.", the line of code is returning a data type of string which is the name of the column and not a IList. I changed the last line to what is shown in the code snippet below.
Private Sub Button8_Click(sender As Object, e As EventArgs) Handles Button8.Click                                          
    Dim xmlPath1 As String                                                                                                 
    Dim dtsetcol1 As New DataSet                                                                                           
    xmlPath1 = System.IO.Path.Combine(Application.StartupPath + "\MainTest.xml")  'grid1                                   
    dtsetcol1.Clear()                                                                                                      
    dtsetcol1.ReadXml(xmlPath1)                                                                                            
    DataGridView1.DataSource = dtsetcol1.Tables(0)                                                                         
    Me.ComboBox3.DataSource = dtsetcol1.Tables(0).AsEnumerable().Select(Function(c) c.Field(Of String)("FieldsN")).ToList()                                                                                                                               
End Sub

Open in new window

Is this what you are looking for?
0

Experts Exchange Solution brought to you by

Your issues matter to us.

Facing a tech roadblock? Get the help and guidance you need from experienced professionals who care. Ask your question anytime, anywhere, with no hassle.

Start your 7-day free trial
vcharlesAuthor Commented:
Yes. Thank you.
0
Fernando SotoRetiredCommented:
Hi Victor; if that answered your question please close the question. Thank you.
0
vcharlesAuthor Commented:
Thank Yoi.
0
Fernando SotoRetiredCommented:
Not a problem Victor.
0
It's more than this solution.Get answers and train to solve all your tech problems - anytime, anywhere.Try it for free Edge Out The Competitionfor your dream job with proven skills and certifications.Get started today Stand Outas the employee with proven skills.Start learning today for free Move Your Career Forwardwith certification training in the latest technologies.Start your trial today
Visual Basic.NET

From novice to tech pro — start learning today.

Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.