Eh bien, j'ai un problème avec le défilement vertical DBGrid. Quand je le fais défiler verticalement avec la roulette de la souris ou la barre de défilement verticale, il déplace la rangée sélectionnée vers le haut et vers le bas. Je veux faire défiler la ligne non sélectionnée mais la grille entière. Tout comme cela fonctionne dans Microsoft Excel par exemple (juste pour vous faire savoir ce que je veux dire). Aucune suggestion?DBGrid page de défilement au lieu de ligne
Répondre
Bien , presque ce que j'aimerais voir. Trouvé le poste de hanuleye sur swissdelhicenter.ch. Ce code vous permet de faire défiler librement DBGrid avec la molette de la souris.
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, Grids, DBGrids, DB, DBTables;
type
TForm1 = class(TForm)
DataSource1: TDataSource;
Table1: TTable;
DBGrid1: TDBGrid;
procedure FormCreate(Sender: TObject);
procedure DBGridMouseWheel(Sender: TObject; Shift: TShiftState;
WheelDelta: Integer; MousePos: TPoint; var Handled: Boolean);
private
{ Private declarations }
public
{ Public declarations }
end;
TWheelDBGrid = class(TDBGrid)
public
property OnMouseWheel;
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
procedure TForm1.FormCreate(Sender: TObject);
begin
TWheelDBGrid(DBGrid1).OnMouseWheel := DBGridMouseWheel;
end;
function GetNumScrollLines: Integer;
begin
SystemParametersInfo(SPI_GETWHEELSCROLLLINES, 0, @Result, 0);
end;
procedure TForm1.DBGridMouseWheel(Sender: TObject; Shift: TShiftState;
WheelDelta: Integer; MousePos: TPoint; var Handled: Boolean);
var
Direction: Shortint;
begin
Direction := 1;
if WheelDelta = 0 then
Exit
else if WheelDelta > 0 then
Direction := -1;
with TDBGrid(Sender) do
begin
if Assigned(DataSource) and Assigned(DataSource.DataSet) then
DataSource.DataSet.MoveBy(Direction * GetNumScrollLines);
Invalidate;
end;
end;
end.
Ce code défile en fait la ligne sélectionnée, mais il ne cesserai pas au bas de la page, qui vous permet de faire défiler jusqu'à ce que le fond de la grille. – Vlad
Je ne pense pas que ce soit possible, car il me semble que la barre de défilement sur DBGrids ressemble plus à un indicateur de progression qu'à un parchemin. Il se comporte différemment des parchemins dans ListViews où vous faites défiler les pages, dans les contrôles db même si vous montez ou descendez une seule ligne la barre de défilement change pour refléter la fraction "ligne courante"/"lignes totales"
- 1. Afficher la position dans DBGrid lors du défilement dans Delphi
- 2. Excel Macro copier et ligne Coller Format par ligne au lieu de gamme de cellules
- 3. Liste de répertoires au lieu de l'application
- 4. sorties php au lieu de -
- 5. ValidateUser au lieu de LogonUser?
- 6. Héritage au lieu de typedef
- 7. Une page aspx manquante provoque une exception globale au lieu de rediriger vers la page 404
- 8. mod_wsgi tampon de sortie de rendement au lieu de retour
- 9. Est-il possible de filtrer DataView par colonne au lieu de par ligne
- 10. Ajout d'une barre de défilement au WrapPanel
- 11. Débordement à gauche au lieu de droite
- 12. MethodInfo pour EntityCollection au lieu de Queryable
- 13. UIBarButtonItem noir au lieu de blanc
- 14. Utilisez AJAX au lieu de TagLib?
- 15. ISAPI Rewrite avec au lieu de mod_rewrite
- 16. lu. [TableName] au lieu de dbo. [TableName]?
- 17. FTP passif au lieu de FTP actif
- 18. En utilisant HttpModule au lieu de Global.asax
- 19. Ajax code d'affichage au lieu de résultat
- 20. requête: produit croisé au lieu de rejoindre
- 21. jQuery cloneTo au lieu de appendTo?
- 22. $ ('# my_form'). AjaxForm ouverture de la page PHP au lieu de recharger le contenu (Safari, Chrome)
- 23. SoapClient enregistrer la demande au fichier au lieu de l'envoyer
- 24. Somme() provoque l'exception au lieu de retourner 0 si aucune ligne
- 25. Insérer des données DBGrid TListItem
- 26. contenu DIV montre à la page au lieu de JQuery Dialog
- 27. JTable défilement vers un index de ligne spécifié
- 28. Qu'est-ce qui amènerait un visiteur à retourner en haut de la page précédente, au lieu de revenir au point de la page où réside le lien?
- 29. compiler les en-têtes php4 au lieu de php5
- 30. Suppression de barres de défilement Content Editor/Page Viewer Webpart
J'utilise Delphi 6 – Vlad