0
在WPF中(在ListBox或DropDownList中)绑定US状态的最佳方法是什么?我应该使用DataTable绑定这些数据吗?将DataTable绑定到WPF对象的正确编程方法?或者我应该使用类/对象。我的意思是从数据库获取数据并将其转换为通用对象列表,然后将此列表绑定到WPF对象?什么方法对美国国家好ListBox/DropDownList
感谢,
在WPF中(在ListBox或DropDownList中)绑定US状态的最佳方法是什么?我应该使用DataTable绑定这些数据吗?将DataTable绑定到WPF对象的正确编程方法?或者我应该使用类/对象。我的意思是从数据库获取数据并将其转换为通用对象列表,然后将此列表绑定到WPF对象?什么方法对美国国家好ListBox/DropDownList
感谢,
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
方法很多... 一种方法是使用列表类。从数据源获取下一个缓存以获得更好的性能。
奇妙!非常感谢。 – usergaro 2011-12-28 22:23:25
谢谢布兰登。以下是我的代码。我用while(rdr.read())从阅读器读取数据并添加到List对象。但它真的降低了性能。 我如何注意到性能下降? 我用来绑定我的状态列表框与DataTable,现在尝试与List对象。我可以从字面上看到,使用DataTable需要将近两秒的时间,只是眨眼之间。 任何建议? – usergaro 2011-12-29 00:17:24
ADO.Net在从数据库中读取时有很多内置开销。使用绑定到DataSet的DataAdapter,然后绑定到DataTable的步骤太多,性能下降。 只使用SQLCommand更轻更快,需要的连接更少。 第一种方法更容易用于初学者。 良好的编码标准是尽可能少使用代码,并只连接并返回数据库中所需的数据。 但是对于将要使用且不会改变的数据库。我建议缓存它。 – 2011-12-29 21:20:16