Ich habe einen Button Next und einen Previous gemacht, damit man im Programm hin und her die Daten auslesen kann. Habe auch einen Label für das ausgeben eines zähler gemacht. Die funktion seht das es 9 einträge in der Datenbank gibt, ich kann vor und zurücl gehen ohne probleme und wenn ich am ende angekommen bin gibt es die meldung das es am ende ist. So weit alles gut, nur habe ich ein problem wieso sehe ich die neuen werte nicht? Es blebit immer bei der letzten Daten stehen also der 9-ten. Obwohl ich hin und her kann. Wie könnte ich die Textboxen aktualiesieren?
Code:
public MainWindow()
{
InitializeComponent();
read();
}
private CollectionView cursor;
void read()
{
using (var nwe = new NORTHWNDEntities())
{
var objctx = (nwe as IObjectContextAdapter).ObjectContext;
ObjectQuery<Employee> query = new ObjectQuery<Employee>(
"SELECT VALUE n from NORTHWNDEntities.Employees as n", objctx);
List<Employee> results = query.ToList();
foreach (Employee emp in results)
{
textBoxID.Text = emp.EmployeeID.ToString();
textBoxFirstName.Text = emp.FirstName;
textBoxLastName.Text = emp.LastName;
textBoxBirthDate.Text = emp.BirthDate.ToString();
}
cursor = (CollectionView)CollectionViewSource.GetDefaultView(results);
}
}
Code:
private void countposition()
{
labelRead.Content = "Read " + (cursor.CurrentPosition + 1) + " to " + cursor.Count;
}
private void buttonNext_Click(object sender, RoutedEventArgs e)
{
if(cursor.CurrentPosition < cursor.Count -1)
{
cursor.MoveCurrentToNext();
countposition();
}
else
{
MessageBox.Show("No more data");
}
}
private void buttonPrevious_Click(object sender, RoutedEventArgs e)
{
if (cursor.CurrentPosition > 0)
{
cursor.MoveCurrentToPrevious();
countposition();
}
else
{
MessageBox.Show("No more data");
}
}