2011-12-28 70 views
0

在WPF中(在ListBox或DropDownList中)绑定US状态的最佳方法是什么?我应该使用DataTable绑定这些数据吗?将DataTable绑定到WPF对象的正确编程方法?或者我应该使用类/对象。我的意思是从数据库获取数据并将其转换为通用对象列表,然后将此列表绑定到WPF对象?什么方法对美国国家好ListBox/DropDownList

感谢,

回答

0
public class States 
    { 
     private string name; 
     public string Name  
     { 
      get 
      { 
       return name; 
      } 
     } 

     private string id; 
     public string Id 
     { 
      get 
      { 
       return id; 
      } 
     } 
    } 

     List<States> states = new List<States>(); 

     //get from database 


     foreach(states DataSource) 
     { 
      name = "Alabama"; 
      id = "1"; 
     } 

     // next Cache list of states for better performance 

方法很多... 一种方法是使用列表类。从数据源获取下一个缓存以获得更好的性能。

+0

奇妙!非常感谢。 – usergaro 2011-12-28 22:23:25

+0

谢谢布兰登。以下是我的代码。我用while(rdr.read())从阅读器读取数据并添加到List对象。但它真的降低了性能。 我如何注意到性能下降? 我用来绑定我的状态列表框与DataTable,现在尝试与List对象。我可以从字面上看到,使用DataTable需要将近两秒的时间,只是眨眼之间。 任何建议? – usergaro 2011-12-29 00:17:24

+0

ADO.Net在从数据库中读取时有很多内置开销。使用绑定到DataSet的DataAdapter,然后绑定到DataTable的步骤太多,性能下降。 只使用SQLCommand更轻更快,需要的连接更少。 第一种方法更容易用于初学者。 良好的编码标准是尽可能少使用代码,并只连接并返回数据库中所需的数据。 但是对于将要使用且不会改变的数据库。我建议缓存它。 – 2011-12-29 21:20:16