Hi leute,
ich habe ein Tabcontrol mit 3 Tabs. In jedem Tab 1 und 2 ist ein Datagrid der aus SQL kommt, angezeigt wird per dataview.
Grid1 in Tab1
Grid2 in Tab2
wenn ich die Tabs wechsel, läd es die Daten aus SQL per
Tab1 Datagrid1
tab2 datagrid2
jetzt komm etwas komisches:
Program startet in Tab 0
WENN ich auf den Tab 1 gehe, läd es die Daten. Gehe ich danach auf Tab2 läd es die Daten.
WENN ich zuerst nach programmstart auf Tab2 gehe, läd es die Daten. Gehe ich danach auf Tab1 läd es die daten NICHT.
Wo ist der Fehler? Hat es was mit Me.Datacontext = Me zu tun?
ich habe ein Tabcontrol mit 3 Tabs. In jedem Tab 1 und 2 ist ein Datagrid der aus SQL kommt, angezeigt wird per dataview.
Grid1 in Tab1
XML-Quellcode
- <DataGrid x:Name="DG1" Grid.Column="0" Grid.RowSpan="3" CanUserReorderColumns="False" CanUserResizeColumns="true" CanUserSortColumns="true" SelectionMode="Single" CanUserAddRows="false" Margin="0,50,0,0" FontSize="12" CanUserDeleteRows="false" CanUserResizeRows="True" AutoGenerateColumns="false" ItemsSource="{Binding dtView_Wiki, Mode=Twoway}">
- <DataGrid.Columns>
- <DataGridTextColumn Header="Nr" Binding="{Binding Nr}" Width="30" IsReadOnly="true"/>
- <DataGridTextColumn Header="Tag" Binding="{Binding Tag}" Width="180" IsReadOnly="true"/>
- <DataGridTextColumn Header="Bereich" Binding="{Binding Bereich}" Width="150" IsReadOnly="true"/>
- <DataGridTextColumn Header="Datum" Binding="{Binding Datum}" IsReadOnly="true"/>
- <DataGridCheckBoxColumn Header="Favorit" Binding="{Binding Favorit, UpdateSourceTrigger=Default}"/>
- </DataGrid.Columns>
- </DataGrid>
Grid2 in Tab2
XML-Quellcode
- <DataGrid x:Name="DG_UserTickets" Grid.Column="0" Grid.RowSpan="3" CanUserReorderColumns="False" CanUserResizeColumns="true" CanUserSortColumns="true" SelectionMode="Single" CanUserAddRows="false" Margin="0" FontSize="12" CanUserDeleteRows="false" CanUserResizeRows="True" AutoGenerateColumns="False" ItemsSource="{Binding dtView_2, Mode=Twoway}" >
- <DataGrid.Columns>
- <DataGridTextColumn Header="Nr" Binding="{Binding Nr}" Width="30" IsReadOnly="true"/>
- <DataGridTextColumn Header="Tag" Binding="{Binding Tag}" Width="180" IsReadOnly="true"/>
- <DataGridTextColumn Header="Bereich" Binding="{Binding Dept}" Width="100" IsReadOnly="true"/>
- <DataGridCheckBoxColumn Header="Erledigt" Binding="{Binding Erledigt, UpdateSourceTrigger=Default}"/>
- <DataGridTextColumn Header="Experte" Binding="{Binding Experte}" Width="100" IsReadOnly="true"/>
- <DataGridTextColumn Header="Datum" Binding="{Binding Datum}" IsReadOnly="true"/>
- <DataGridCheckBoxColumn Header="Experten Antwort" Binding="{Binding ExpertenAntwort, UpdateSourceTrigger=default}" IsReadOnly="true"/>
- <DataGridTextColumn Header="" Binding="{Binding Shortname}" FontSize="1" FontWeight="Thin" IsReadOnly="true"/>
- </DataGrid.Columns>
- </DataGrid>
wenn ich die Tabs wechsel, läd es die Daten aus SQL per
Tab1 Datagrid1
VB.NET-Quellcode
- Dim cmd As New SqlCommand
- Dim sql As New SqlDataAdapter(cmd)
- DT_Gelöst.Columns.Clear()
- DT_Gelöst.Rows.Clear()
- cmd.Connection = Me.connection
- If Me.connection.State = ConnectionState.Open Then
- Else
- Me.connection.Open()
- End If
- cmd.CommandText = "Select [Nr], [Tag], [Bereich], [Datum], [Favorit] FROM dbo.Database1 Where [Check]='0' ORDER BY [Nr] ASC"
- sql.Fill(DT_Gelöst)
- dtView_Wiki = DT_Gelöst.DefaultView
- Me.DataContext = Me
tab2 datagrid2
VB.NET-Quellcode
- Dim Str_Username As String = Environment.UserName.ToString
- Dim cmd As New SqlCommand
- Dim sql As New SqlDataAdapter(cmd)
- DT_User.Columns.Clear()
- DT_User.Rows.Clear()
- cmd.Connection = Me.connection
- If Me.connection.State = ConnectionState.Open Then
- Else
- Me.connection.Open()
- End If
- cmd.CommandText = "Select [Nr], [Tag], [Dept], [Erledigt],[Experte],[Datum],[ExpertenAntwort],[Shortname] FROM dbo.Database2 where [User] = '" & Str_Username & "' ORDER BY [Nr] ASC"
- sql.Fill(DT_User)
- PublicClass.NewMailUser()
- dtView_2 = DT_User.DefaultView
- Me.DataContext = Me
jetzt komm etwas komisches:
Program startet in Tab 0
WENN ich auf den Tab 1 gehe, läd es die Daten. Gehe ich danach auf Tab2 läd es die Daten.
WENN ich zuerst nach programmstart auf Tab2 gehe, läd es die Daten. Gehe ich danach auf Tab1 läd es die daten NICHT.
Wo ist der Fehler? Hat es was mit Me.Datacontext = Me zu tun?