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"/>