Solved

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

Posted on 2016-09-24
13
50 Views
Last Modified: 2016-10-02
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
0
Comment
Question by:vcharles
  • 7
  • 6
13 Comments
 
LVL 63

Expert Comment

by:Fernando Soto
ID: 41816601
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
 

Author Comment

by:vcharles
ID: 41816820
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
 
LVL 63

Expert Comment

by:Fernando Soto
ID: 41816831
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
MS Dynamics Made Instantly Simpler

Make Your Microsoft Dynamics Investment Count  & Drastically Decrease Training Time by Providing Intuitive Step-By-Step WalkThru Tutorials.

 

Author Comment

by:vcharles
ID: 41816994
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
 
LVL 63

Expert Comment

by:Fernando Soto
ID: 41817024
How will you want the list to be filtered / delete items so that they don't show up in the ComboBox?
0
 

Author Comment

by:vcharles
ID: 41824916
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
 
LVL 63

Expert Comment

by:Fernando Soto
ID: 41825377
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
 

Author Comment

by:vcharles
ID: 41825390
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
 
LVL 63

Accepted Solution

by:
Fernando Soto earned 500 total points
ID: 41825449
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
 

Author Comment

by:vcharles
ID: 41825472
Yes. Thank you.
0
 
LVL 63

Expert Comment

by:Fernando Soto
ID: 41825725
Hi Victor; if that answered your question please close the question. Thank you.
0
 

Author Closing Comment

by:vcharles
ID: 41825738
Thank Yoi.
0
 
LVL 63

Expert Comment

by:Fernando Soto
ID: 41825793
Not a problem Victor.
0

Featured Post

Forrester Webinar: xMatters Delivers 261% ROI

Guest speaker Dean Davison, Forrester Principal Consultant, explains how a Fortune 500 communication company using xMatters found these results: Achieved a 261% ROI, Experienced $753,280 in net present value benefits over 3 years and Reduced MTTR by 91% for tier 1 incidents.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Suggested Solutions

Many of us here at EE write code. Many of us write exceptional code; just as many of us write exception-prone code. As we all should know, exceptions are a mechanism for handling errors which are typically out of our control. From database errors, t…
Parsing a CSV file is a task that we are confronted with regularly, and although there are a vast number of means to do this, as a newbie, the field can be confusing and the tools can seem complex. A simple solution to parsing a customized CSV fi…
Email security requires an ever evolving service that stays up to date with counter-evolving threats. The Email Laundry perform Research and Development to ensure their email security service evolves faster than cyber criminals. We apply our Threat…

733 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question