BindingNavigator und Grids

14/11/2008 - 13:06 von Tom | Report spam
Hallo zusammen,

ich habe folgende Problematik: Auf einer Windowsform ist ein DataGrid
(UltraGrid von Infragistics). An dieses Grid ist ein BindingNavigator
über BindingSource
gekoppelt. Über die Items des BindingNavigators kann ich auch durch
das Grid navigieren.
MoveLastItem, MoveNextItem funzen wunderbar.Mein Problem kommt, wenn
ich mit der Maus im Grid einen Datensatz
selektiere.


Hierrüber kann ich zwar das PositionItem auf den richtigen Wert
setzen, aber mehr auch nicht
private void UltraGrid1_ClickRow(object sender,
Infragistics.Win.UltraWinGrid.ClickRowEventArgs e)
{
Infragistics.Win.UltraWinGrid.UltraGridRow aRow;
aRow = UltraGrid1.ActiveRow;
bindingNavigator1.PositionItem.Text = (aRow.Index +
1).ToString();
}
Beispiel: Ich bewege mich mit dem BindingNavigator bis auf Zeile 5.
Dann klickje ich mit der Maus in Zeile 20 des Ultragrids und das
positionItem stellt mir auch Zeile 20 dar. Gehe jetzt wieder mit dem
BindingNavigator auf MoveNextItem würde ich Zeile 21 erwarten, es
kommt aber Zeile 6 im PositionFeld. Der Cursor springt jedoch auf
Zeile 21. Auch wenn ich auf die letzte Zeile in meinem Grid springe,
so ist MoveNextItem und MoveLastItem immer noch aktiviert. Dies darf
aber nicht sein, da ich ja auf der letzten Zeile stehe und danach
kein
Datensatz mehr kommt.


Hat jemand hierfür eine Lösung? Dafür wàre ich sehr dankbar.
Vielen Dank im voraus


Tom
 

Lesen sie die antworten

#1 Peter Fleischer
14/11/2008 - 13:22 | Warnen spam
"Tom" schrieb im Newsbeitrag
news:

ich habe folgende Problematik: Auf einer Windowsform ist ein DataGrid
(UltraGrid von Infragistics). An dieses Grid ist ein BindingNavigator
über BindingSource gekoppelt.



Üblicherweise ist die Kopplung umgekehrt. Der BindingNavigator nutzt die
BindingSource als DataSource.

Über die Items des BindingNavigators kann ich auch durch das Grid
navigieren.
MoveLastItem, MoveNextItem funzen wunderbar.Mein Problem kommt, wenn
ich mit der Maus im Grid einen Datensatz selektiere.



Vermutlich funktioniert dein Grid nicht. Mit dem DataGridView kann das
Verhalten nicht reprodiziert werden, solange natürliche beide Steuerelemente
die gleiche BindingSource als DataSource nutzen.


Hierrüber kann ich zwar das PositionItem auf den richtigen Wert
setzen, aber mehr auch nicht
private void UltraGrid1_ClickRow(object sender,
Infragistics.Win.UltraWinGrid.ClickRowEventArgs e)
{
Infragistics.Win.UltraWinGrid.UltraGridRow aRow;
aRow = UltraGrid1.ActiveRow;
bindingNavigator1.PositionItem.Text = (aRow.Index +
1).ToString();
}



Komischer VB-Code :-)


Viele Grüsse
Peter

Ähnliche fragen