Solved

set DisplayMeber and ValueMember from XML using C#

Posted on 2008-10-07
8
327 Views
Last Modified: 2013-12-17
Hi
I want to the displaymember and valuemember from XMLdocument to Combobox in Windows application

I am tring with the following code...
System.Collections.Generic.List<KeyValuePair<string, string>> ComBoData = new List<KeyValuePair<string, string>>();
                        ComBoData.Add(new KeyValuePair<string, string>(xElm.GetAttribute("Title").ToString(), xElm.GetAttribute("ID").ToString()));
                        ddl_List.DataSource = ComBoData;
                        ddl_List.DisplayMember = ?
                        ddl_List.ValueMember = ?

Open in new window

0
Comment
Question by:Vivek Thangaswamy
  • 5
  • 3
8 Comments
 
LVL 14

Expert Comment

by:Binuth
ID: 22657455
use "key" and "value"

like...
System.Collections.Generic.List<KeyValuePair<string, string>> ComBoData = new List<KeyValuePair<string, string>>();
                        ComBoData.Add(new KeyValuePair<string, string>(xElm.GetAttribute("Title").ToString(), xElm.GetAttribute("ID").ToString()));
                        ddl_List.DataSource = ComBoData;
                        ddl_List.DisplayMember = "value";
                        ddl_List.ValueMember = "key";

Open in new window

0
 
LVL 11

Author Comment

by:Vivek Thangaswamy
ID: 22657501
Hope this is correct
ddl_List.DisplayMember = "Key";
ddl_List.ValueMember = "Value";
But the result is nothing :(
even in ddl_List.text it has the value
 
0
 
LVL 14

Expert Comment

by:Binuth
ID: 22657509
small letter (k) and (v)
ddl_List.DisplayMember = "key";
ddl_List.ValueMember = "value";
0
DevOps Toolchain Recommendations

Read this Gartner Research Note and discover how your IT organization can automate and optimize DevOps processes using a toolchain architecture.

 
LVL 11

Author Comment

by:Vivek Thangaswamy
ID: 22657516
i tried small also ... same result :(
0
 
LVL 14

Expert Comment

by:Binuth
ID: 22657521
or pls provide full code
0
 
LVL 14

Expert Comment

by:Binuth
ID: 22657546
it's working for me, can you post full code...
0
 
LVL 11

Author Comment

by:Vivek Thangaswamy
ID: 22657553
Chk this

 foreach (System.Xml.XmlElement xElm in xDoc.DocumentElement.ChildNodes)
            {
                if (xElm.Name.ToLower() == "list")
                {
                    try
                    {
                        System.Collections.Generic.List<KeyValuePair<string, string>> ComBoData = new List<KeyValuePair<string, string>>();
                        ComBoData.Add(new KeyValuePair<string, string>(xElm.GetAttribute("Title").ToString(), xElm.GetAttribute("ID").ToString()));
                        ddl_List.DataSource = ComBoData;
                        ddl_List.DisplayMember = "key";
                        ddl_List.ValueMember = "value";
                    }
                    catch (Exception ex)
                    {
                        MessageBox.Show(ex.Message.ToString());
                    }
                }
            }

Open in new window

0
 
LVL 14

Accepted Solution

by:
Binuth earned 300 total points
ID: 22657576
hmm... problem was you are trying to create new object ComBoData in every loop, so it always contains one value

change the code like...
try
	{
 
		System.Collections.Generic.List<KeyValuePair<string , string>> ComBoData = new List<KeyValuePair<string , string>>();
		foreach (System.Xml.XmlElement xElm in xDoc.DocumentElement.ChildNodes)
		{
			if (xElm.Name.ToLower() == "list")
			{
				ComBoData.Add(new KeyValuePair<string , string>(xElm.GetAttribute("Title").ToString() , xElm.GetAttribute("ID").ToString()));
			}
		}
		ddl_List.DataSource = ComBoData;
		ddl_List.DisplayMember = "key";
		ddl_List.ValueMember = "value";
	}
	catch (Exception ex)
	{
		MessageBox.Show(ex.Message.ToString());
	}

Open in new window

0

Featured Post

3 Use Cases for Connected Systems

Our Dev teams are like yours. They’re continually cranking out code for new features/bugs fixes, testing, deploying, testing some more, responding to production monitoring events and more. It’s complex. So, we thought you’d like to see what’s working for us.

Question has a verified solution.

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

Suggested Solutions

Title # Comments Views Activity
Video Player 11 23
How do you do a one to many list in .NET CORE? 2 24
Moving code from one TFS branch to another 3 25
JQuery JavaScripot loop though RadioButtonList 4 23
This document covers how to connect to SQL Server and browse its contents.  It is meant for those new to Visual Studio and/or working with Microsoft SQL Server.  It is not a guide to building SQL Server database connections in your code.  This is mo…
Real-time is more about the business, not the technology. In day-to-day life, to make real-time decisions like buying or investing, business needs the latest information(e.g. Gold Rate/Stock Rate). Unlike traditional days, you need not wait for a fe…
Along with being a a promotional video for my three-day Annielytics Dashboard Seminor, this Micro Tutorial is an intro to Google Analytics API data.
Although Jacob Bernoulli (1654-1705) has been credited as the creator of "Binomial Distribution Table", Gottfried Leibniz (1646-1716) did his dissertation on the subject in 1666; Leibniz you may recall is the co-inventor of "Calculus" and beat Isaac…

813 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

Need Help in Real-Time?

Connect with top rated Experts

14 Experts available now in Live!

Get 1:1 Help Now