请问关于WPF DataGrid数据不显示的问题
Xaml代码<DataGridName="tenantsDg"HorizontalAlignment="Left"Width="762"AutoGenerateColum...
Xaml代码
<DataGrid Name="tenantsDg" HorizontalAlignment="Left" Width="762" AutoGenerateColumns="False" IsReadOnly="True" Margin="0,0,0,-2" >
<DataGrid.Columns>
<DataGridTextColumn Header="姓名" Width="100" Binding="{Binding name}"/>
<DataGridTextColumn Header="水费" Width="100" Binding="{Binding tel}" />
<DataGridTextColumn Header="电费"/>
<DataGridTextColumn Header="卫生治安费"/>
<DataGridTextColumn Header="电梯费"/>
<DataGridTextColumn Header="暖气费"/>
</DataGrid.Columns>
</DataGrid>
cs代码
private void Window_Loaded_1(object sender, RoutedEventArgs e)
{
tenantsDg.ItemsSource = TenantsDAL.GetAll();
//进入窗口时候绑定
//GetAll方法返回的是一个List集合,断点查看里面有数据的.
}
这是GetAll的代码
public static List<Tenants> GetAll()
{
string sql = "select * from T_Tenants";
DataTable table = CommunityManagerSystemTools.ExecuteDataTable(sql);
List<Tenants> tenants = new List<Tenants>();
for (int i=0; i < table.Rows.Count;i++ )
{
DataRow row = table.Rows[i];
Tenants tenant = new Tenants();
tenant.id = (long)row["ID"];
tenant.name = (string)row["Name"];
tenant.tel = (string)row["Tel"];
tenant.community = (string)row["Community"];
tenant.address = (string)row["Address"];
tenant.type = (string)row["Type"];
tenants.Add(tenant);
}
return tenants;
}
这是断点图片
这个集合中数据已经有了
但是打开之后就显示成这样子
条数量是对的 3条数据 但是就是不显示内容
请教下该怎么办? 展开
<DataGrid Name="tenantsDg" HorizontalAlignment="Left" Width="762" AutoGenerateColumns="False" IsReadOnly="True" Margin="0,0,0,-2" >
<DataGrid.Columns>
<DataGridTextColumn Header="姓名" Width="100" Binding="{Binding name}"/>
<DataGridTextColumn Header="水费" Width="100" Binding="{Binding tel}" />
<DataGridTextColumn Header="电费"/>
<DataGridTextColumn Header="卫生治安费"/>
<DataGridTextColumn Header="电梯费"/>
<DataGridTextColumn Header="暖气费"/>
</DataGrid.Columns>
</DataGrid>
cs代码
private void Window_Loaded_1(object sender, RoutedEventArgs e)
{
tenantsDg.ItemsSource = TenantsDAL.GetAll();
//进入窗口时候绑定
//GetAll方法返回的是一个List集合,断点查看里面有数据的.
}
这是GetAll的代码
public static List<Tenants> GetAll()
{
string sql = "select * from T_Tenants";
DataTable table = CommunityManagerSystemTools.ExecuteDataTable(sql);
List<Tenants> tenants = new List<Tenants>();
for (int i=0; i < table.Rows.Count;i++ )
{
DataRow row = table.Rows[i];
Tenants tenant = new Tenants();
tenant.id = (long)row["ID"];
tenant.name = (string)row["Name"];
tenant.tel = (string)row["Tel"];
tenant.community = (string)row["Community"];
tenant.address = (string)row["Address"];
tenant.type = (string)row["Type"];
tenants.Add(tenant);
}
return tenants;
}
这是断点图片
这个集合中数据已经有了
但是打开之后就显示成这样子
条数量是对的 3条数据 但是就是不显示内容
请教下该怎么办? 展开
1个回答
2014-04-09 · 知道合伙人数码行家
关注
展开全部
注意类中的id等需为属性,不能为字段。
可以看下百度经验,有关WPF中DataGrid的使用。
http://jingyan.baidu.com/article/925f8cb8143648c0dde0561a.html
看下我的代码,其中tel为字段,DataGrid中就不显示。
如还有疑问,继续追问。
using System.Collections.Generic;
using System.Windows;
namespace WpfApplication27
{
/// <summary>
/// MainWindow.xaml 的交互逻辑
/// </summary>
public partial class MainWindow : Window
{
public MainWindow()
{
InitializeComponent();
tenantsDg.ItemsSource = GetAll();
}
public static List<Tenants> GetAll()
{
return new List<Tenants>()
{
new Tenants{ id = "01", name = "name1", tel = "12345678" },
new Tenants{ id = "02", name = "name2", tel = "12345678" },
};
}
}
public class Tenants
{
public string id { get; set; }
public string name { get; set; }
public string tel;
}
}
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询