Ich habe eine sehr einfache Form mit dem kompakten Framework. Ich habe zwei Suchfelder eine Suchschaltfläche und ein Datagrid. Die Schaltfläche legt die DataSource für ein DataGrid auf dem Formular fest. Ich weiß, dass ich die Höhe und Breite auf dem DataGrid festlegen kann, aber ich möchte nicht, dass der Benutzer die Bildlaufleisten auf dem DataGrid verwenden muss, da es ein paar hundert Datensätze hat. Ich möchte nur, dass der Benutzer die Bildlaufleiste im Formular zum Scrollen verwendet. Wie erreiche ich das?Datagrid Scrollen in Windows Mobile Weg, um Rollbalken loszuwerden?
Antwort
Ich gehe davon aus, dass das gewünschte Verhalten für eine vertikale Bildlaufleiste, die die gesamte Höhe des Formulars erstreckt, durch die Datensätze der DataGrid
navigieren. Diese DataGrid
belegt nicht den gesamten Platz auf dem Formular.
Sie könnten ein VScrollBar
an der Seite des Formulars hinzufügen und sein Maximum auf die Gesamtzahl der Zeilen Ihres DataGrid
setzen. Dann an das Ereignis ValueChanged
der Bildlaufleiste anhängen und die ausgewählte Zeile Ihres DataGrid
manipulieren. Dies würde in der Tat das Scroll-Verhalten des DataGrid
nachahmen.
Der schwierige Teil ist das Verbergen der Bildlaufleiste des DataGrid
, da es keine Eigenschaft gibt, es zu verbergen. Sie können seine Breite erweitern, sodass die Bildlaufleiste außerhalb des Bildschirms angezeigt wird. Denken Sie jedoch daran, die AutoScroll
-Eigenschaft des Formulars auf false
zu setzen, damit keine horizontale Bildlaufleiste angezeigt wird, die den DataGrid
-Kludi anzeigt.
Basierend auf Ihrer Anwendung möchten Sie möglicherweise die Verwendung einer ListView
mit der View
-Eigenschaft auf Details
festgelegt. Die ListView
ist im kompakten Framework viel einfacher zu manipulieren und könnte besser zu Ihrer Anwendung passen. Sie können immer noch die gleiche VScrollBar
Technik oben verwenden und sie auf die ListView
anwenden, wenn Sie es wünschen.
Sie müssen die rowcount aus der DataSource abrufen. Wirf ihn wie dem beiliegenden Beispiel die Zeilenanzahl zu erzeugen: (rsMissingItems ist ein SqlCeResultSet Objekt)
Dim intRecCnt As Int32 = DirectCast(rsMissingItems.ResultSetView, ICollection).Count
- 1. C# Windows Mobile DataGrid-Daten
- 2. Schriftart der Zelle in DataGrid unter Windows Mobile ändern
- 3. Windows Mobile: Wie Zeile in Datagrid und Zusammenstellung markieren verzögert
- 4. Spaltenbreite eines DataGrid in einer Windows Mobile-Anwendung
- 5. Der beste Weg, um große Datenmengen in DataGrid zu laden
- 6. Wie markiere ich eine Zeile im Datagrid (Windows Mobile)?
- 7. Swipe Gestenerkenner in Rollbalken
- 8. Glatte Scrollen für WPF Datagrid
- 9. Verbindungsmanager in Windows Mobile
- 10. Wie scrollbar/scrollen auf einem WPF Datagrid
- 11. Verhindern von Relayout durch Rollbalken
- 12. Der beste Weg, alte Nachrichten/Posts in einer Sammlung loszuwerden?
- 13. Mobile Geräte scrollen zu weit (in Leerraum)
- 14. Ich kann Rollbalken auf ScrollViewer
- 15. Windows Mobile und Speicherort
- 16. Datagrid nicht ordnungsgemäß aktualisiert, aktualisiert beim Scrollen
- 17. Bootstrap 3: Rollbalken
- 18. Windows CE vs Windows Mobile
- 19. Windows-Dienst für Windows Mobile
- 20. Windows Mobile - Anwendung ausblenden
- 21. Windows Mobile Verbindungstyp
- 22. windows mobile Technologien
- 23. Detect Windows Mobile Gerät
- 24. Checkbox Validierung in Windows Mobile
- 25. Flash SMS in Windows Mobile
- 26. Windows Mobile SMS Quellcode
- 27. Windows Mobile Benutzeroberfläche Vorschläge
- 28. Data Grid Stil Windows Mobile C#
- 29. Windows Mobile Registry UnauthorizedAccessException
- 30. Scrollen JQuery Mobile Panel separat von Inhalt
Ihre Annahme ist ein bisschen falsch. Ich möchte den Forms AutoScroll verwenden und die Bildlaufleiste DataGrids ausblenden. Das DataGrid bringt mehr als 700 Datensätze zurück, so dass es mehr als den gesamten sichtbaren Bereich des Formulars beansprucht. Vielleicht muss ich herausfinden, wie viele Zeilen im Datagrid sind und wie groß das in Pixeln wäre, und die datagrids-Eigenschaft height auf Zeilen * Pixel pro Zeile setzen. Irgendwelche Ideen (Ich bin mir nicht sicher, wie ich herausfinden soll, wie viele Zeilen es gibt) –