DataBinding Linq to SQL table to DataGrid using XAML
DataBinding Linq to SQL table to DataGrid using XAML
:) 大家好!我试图只显示我的 tblEmployeeLoginDetails Table 中的两列,而不是显示可用的 13 列中的每一列,但是当我已经将它们绑定到我的数据网格时,我手动添加的列保持为空。这是我的 XAMl:
编码
<DataGrid x:Name="dgEmployeeInformation" ItemsSource="{Binding tblEmployeeLoginDetails}" HorizontalAlignment="Left" Margin="26,391,0,0" VerticalAlignment="Top" Height="175" Width="241" SelectionChanged="dgEmployeeInformation_SelectionChanged" HorizontalContentAlignment="Center" AutoGenerateColumns="False">
<DataGrid.Columns>
<DataGridTextColumn Binding="{Binding Path=EmployeeName}" Header="First Name" MinWidth="120"/>
<DataGridTextColumn Binding="{Binding Path=EmployeeSurname}" Header="Last Name" MinWidth="120"/>
</DataGrid.Columns>
</DataGrid>
这是我绑定所有内容的代码:
private void FillEmployeeDataGrid()
{
using (DataClassesDataContext DC = new DataClassesDataContext())
{
dgEmployeeInformation.ItemsSource = DC.tblEmployeeLoginDetails.Where<tblEmployeeLoginDetail>(c => c.LoginID != null)
.Select<tblEmployeeLoginDetail, EIDData>(m => new EIDData()
{
LoginIdentification = m.LoginID,
Name = m.EmployeeName,
Surname = m.EmployeeSurname,
Email = m.EmployeeEmailAddress,
Password = m.EmployeePassword,
Department = m.EmployeeDepartment,
IDNumber = m.EmployeeIDNumber,
Gender = m.EmployeeGender,
HomeAddress = m.EmployeeHomeAddress,
Telephone = m.EmployeeTelephoneNumber,
City = m.EmplyeeCity,
Province = m.EmployeeProvinceCode
});
}
}
知道为什么我的 table 信息没有在我的 DataGrid 中显示数据吗?
我知道这很简单,但是您输入了错误的属性名称,正如您从这段代码中看到的那样:
Name = m.EmployeeName,
Surname = m.EmployeeSurname,
所以,只需将您的 .xaml
更改为:
<DataGridTextColumn Binding="{Binding Path=Name}" Header="First Name" MinWidth="120"/>
<DataGridTextColumn Binding="{Binding Path=Surname}" Header="Last Name" MinWidth="120"/>
:) 大家好!我试图只显示我的 tblEmployeeLoginDetails Table 中的两列,而不是显示可用的 13 列中的每一列,但是当我已经将它们绑定到我的数据网格时,我手动添加的列保持为空。这是我的 XAMl:
编码 <DataGrid x:Name="dgEmployeeInformation" ItemsSource="{Binding tblEmployeeLoginDetails}" HorizontalAlignment="Left" Margin="26,391,0,0" VerticalAlignment="Top" Height="175" Width="241" SelectionChanged="dgEmployeeInformation_SelectionChanged" HorizontalContentAlignment="Center" AutoGenerateColumns="False">
<DataGrid.Columns>
<DataGridTextColumn Binding="{Binding Path=EmployeeName}" Header="First Name" MinWidth="120"/>
<DataGridTextColumn Binding="{Binding Path=EmployeeSurname}" Header="Last Name" MinWidth="120"/>
</DataGrid.Columns>
</DataGrid>
这是我绑定所有内容的代码:
private void FillEmployeeDataGrid()
{
using (DataClassesDataContext DC = new DataClassesDataContext())
{
dgEmployeeInformation.ItemsSource = DC.tblEmployeeLoginDetails.Where<tblEmployeeLoginDetail>(c => c.LoginID != null)
.Select<tblEmployeeLoginDetail, EIDData>(m => new EIDData()
{
LoginIdentification = m.LoginID,
Name = m.EmployeeName,
Surname = m.EmployeeSurname,
Email = m.EmployeeEmailAddress,
Password = m.EmployeePassword,
Department = m.EmployeeDepartment,
IDNumber = m.EmployeeIDNumber,
Gender = m.EmployeeGender,
HomeAddress = m.EmployeeHomeAddress,
Telephone = m.EmployeeTelephoneNumber,
City = m.EmplyeeCity,
Province = m.EmployeeProvinceCode
});
}
}
知道为什么我的 table 信息没有在我的 DataGrid 中显示数据吗?
我知道这很简单,但是您输入了错误的属性名称,正如您从这段代码中看到的那样:
Name = m.EmployeeName,
Surname = m.EmployeeSurname,
所以,只需将您的 .xaml
更改为:
<DataGridTextColumn Binding="{Binding Path=Name}" Header="First Name" MinWidth="120"/>
<DataGridTextColumn Binding="{Binding Path=Surname}" Header="Last Name" MinWidth="120"/>