DataGrid
에 데이터를 채울 수 없습니다. XAML을 처음 사용했습니다. OracleDataReader
개체를 사용 중입니다.이 개체를 DataGrid
에 추가하고 싶습니다. 먼저 여기에 XAML이 있습니다.XAML의 DataGrid에 데이터를 추가 할 때 업데이트되지 않습니다.
<DataGrid Name="grdResults" FontSize="25" AutoGenerateColumns="False" CanUserResizeRows="False" DockPanel.Dock="Top" IsReadOnly="True">
<DataGrid.Columns>
<DataGridTextColumn Binding="{Binding Path=extName}" Header="Name" Width="*" />
<DataGridTextColumn Binding="{Binding Path=location_note}" Header="Location" Width="*" />
<DataGridTextColumn Binding="{Binding Path=crate_no}" Header="Crate" Width="*"/>
</DataGrid.Columns>
</DataGrid>
여기 뒷쪽에 있습니다. 작동하는 것처럼 보이지만 그렇지 않은 것 같습니다. 필드의 이름은 XAML에 바인딩 된 것과 동일합니다. RS는 인구 밀도가 높은 OracleDataReader
입니다.
Dim dt As New DataTable
dt.Load(rs)
grdResults.DataContext = dt.DefaultView
내가 잘못하고있는 것을 누구든지 볼 수 있습니까?
편집 :
나는 그것이 작동시킬 수 있었다. 아마도 가장 좋은 방법은 아니지만 나를 위해 일합니다. 내가 XAML에서 datagrid.columns 및 차일을 꺼내서
grdResults.Columns.Add(New DataGridTextColumn() With { _
.Header = "Name", _
.Binding = New Binding(String.Format("[{0}]", "extName"))})
grdResults.Columns.Add(New DataGridTextColumn() With { _
.Header = "Location", _
.Binding = New Binding(String.Format("[{0}]", "location_note"))})
grdResults.Columns.Add(New DataGridTextColumn() With { _
.Header = "Crate", _
.Binding = New Binding(String.Format("[{0}]", "crate_no"))})
WPF 클라이언트 측에서'System.Data' 클래스 사용을 완전히 금지합니다. 데이터를 보관할 적절한 데이터 모델을 만들고 응용 프로그램 논리를 정의하는 적절한 ViewModels를 만듭니다. –
하지만 그렇게했다면 그리드에 표시하는 것이 가능할까요? 물론 – Loogawa
입니다. WPF는 winforms보다 훨씬 더 유용합니다. 나는 당신의 질문을 이해하지 못합니다. –