2017-11-20 13 views
0

하루 종일 같은 느낌이 들었지만이 문제를 해결할 수없는 것처럼 보였습니다. 그래서 나 자신에게 물어볼 것이라고 생각했습니다.DataTable을 DataGrid에 바인딩 WPF (VB.net)

 Dim dtAttendanceTimes As New DataTable 

     Dim dcEmployee As New DataColumn With { 
      .ColumnName = "Employee", 
      .DataType = GetType(String)} 
     dtAttendanceTimes.Columns.Add(dcEmployee) 

     Dim dcDate As New DataColumn With { 
      .ColumnName = "Date", 
      .DataType = GetType(String)} 
     dtAttendanceTimes.Columns.Add(dcDate) 

     Dim dcClockIn As New DataColumn With { 
      .ColumnName = "Clock In", 
      .DataType = GetType(String)} 
     dtAttendanceTimes.Columns.Add(dcClockIn) 

     Dim dcClockType As New DataColumn With { 
      .ColumnName = "Type", 
      .DataType = GetType(String)} 
     dtAttendanceTimes.Columns.Add(dcClockType) 

     Dim dcApproved As New DataColumn With { 
      .ColumnName = "Approved", 
      .DataType = GetType(String)} 
     dtAttendanceTimes.Columns.Add(dcApproved) 

     For Each drAttendaceTime As DataRow In AttendancetimesAdaptor.GetDataByEmployeeID(intEmployeeID).Rows 
      dtAttendanceTimes.Rows.Add(drAttendaceTime("fkEmployee"), drAttendaceTime("strDate"), drAttendaceTime("strClockIn"), drAttendaceTime("strType"), drAttendaceTime("strApproved")) 
     Next 

     dgAttendanceTimes.ItemsSource = dtAttendanceTimes.DefaultView 

을 그리고 XAML에 내가 그렇게처럼 내 데이터 그리드를 구축 :

나는 DataTable을 지금처럼 건설 한

     <DataGrid x:Name="dgAttendanceTimes" AutoGenerateColumns="False" Style="{StaticResource MyDataGridStyle}" Grid.Column="1" Grid.Row="1" Grid.RowSpan="3"> 
        <DataGrid.Columns> 
          <DataGridTextColumn Header="Employee" x:Name="Employee" Width="*" Binding="{Binding Path=Employee}"/> 
          <DataGridTextColumn Header="Date" x:Name="Date" Width="*" Binding="{Binding Path=Date}"/> 
          <DataGridTextColumn Header="Clock In" x:Name="ClockIn" Binding="{Binding Path=ClockIn}"/> 
          <DataGridTextColumn Header="Type" x:Name="Type" Visibility="Hidden" Binding="{Binding Path=Type}"/> 
          <DataGridTextColumn Header="Approved" x:Name="Approved" Binding="{Binding Path=Approved}"/> 
         </DataGrid.Columns> 
       </DataGrid> 

을하지만 난 그냥 빈 행을 얻을, 내가 얻을 내가 그것을 실행할 때 행의 오른쪽 양은 단지 비어 있고 열은 없습니까?

도움을 주시면 감사하겠습니다.

With dt.Columns 
     .Add("SrNo", GetType(Integer)) 
     .Add("Name", GetType(String)) 
    End With 

을 그리고 XAML에 선 아래 추가 데이터 테이블에 행을 추가하기 전에 지금 ItemsSource="{Binding}"

를 추가 :

답변

0

당신은 단순히 아래와 같이 columnin의 이동표를 추가 할 수 있습니다 행을 추가 지금

dg.ItemSource= dt.DefaultView() 

을 데이터 테이블에 자동으로 반영됩니다.