|
ListView定义如下:
<ListView Margin="5" BorderBrush="Blue" Name="lstproducts" BorderThickness="3" Background="Snow" Foreground="Magenta" OpacityMask="ForestGreen">
<ListView.View>
<GridView>
<GridView.Columns>
<GridViewColumn Header="ID" DisplayMemberBinding="{Binding Path=ProductID}"/>
<GridViewColumn Header="Name" DisplayMemberBinding="{Binding Path=ProductName}"/>
<GridViewColumn Header="Version" DisplayMemberBinding="{Binding Path=ProductVersion}"/>
<GridViewColumn Header="Buy Date" DisplayMemberBinding="{Binding Path=ProductDate}"/>
</GridView.Columns>
</GridView>
</ListView.View>
</ListView>
列名分别为 ID,Name,Version, Buy Date。
1. 首先建立一个存储绑定路径的类ProductInfo,代码如下:
public class ProductInfo
{
private string productID;
public string ProductID
{
get{return productID;}
set { productID = value; }
}
private string productName;
public string ProductName
{
get { return productName; }
set { productName = value; }
}
private string productVersion;
public string ProductVersion
{
get { return productVersion; }
set { productVersion = value; }
}
private string productDate;
public string ProductDate
{
get { return productDate; }
set { productDate = value; }
}
public ProductInfo(string id, string name, string version, string date)
{
this.productID = id;
this.productName = name;
this.productVersion = version;
this.productDate = date;
}
}
2. 再建立一个模板类StoreProductInfo,用于存储ProductInfo,代码如下:
public class StoreProductInfo
{
public List<ProductInfo> GetStoreInfo(DataSet ds)
{
List<ProductInfo> info = new List<ProductInfo>();
for(int i=0;i<ds.Tables[0].Rows.Count;i++)
{
ProductInfo pInfo = new ProductInfo(ds.Tables[0].Rows[i][0].ToString(),ds.Tables[0].Rows[i][1].ToString(),ds.Tables[0].Rows[i][2].ToString(),ds.Tables[0].Rows[i][3].ToString() );
info.Add(pInfo);
}
return info;
}
}
3. 在初始化类中声明public static StoreProductInfo storePInfo = new StoreProductInfo();
4. 响应事件并显示数据:
private void cmdGetProducts_Click(object sender, RoutedEventArgs e)
{
pInfo = tableModule.storePInfo.GetStoreInfo(ds);
lstproducts.ItemsSource = pInfo;
} |