Announcement

Collapse
No announcement yet.

willkürliche anzeige von scrollbars bei dbgrid?!

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • willkürliche anzeige von scrollbars bei dbgrid?!

    hallo,
    <br><br>
    weiss jemand wie man die scrollbaransich bei dbgrids bewusst steuern kann?<br>
    bei manchen dbgrids habe ich vertikale scrollbalken, bei anderen beide und wieder<br>
    bei anderen nur die horizontalen.<br>
    ein property gibt es nicht dafür. wie kann man dass steuern?<br>
    mfg
    andik

  • #2
    Hallo,

    die Scrollbars werden immer dann angezeigt, wenn es etwas zu scrollen gibt. Passen alle Datensätze in den sichtbaren TDBGrid-Bereich, so verzichtet das Grid auf die Darstellung der vertikalen Scrollbar. Und wenn der Datensatz in seiner Länge nicht in den sichtbaren Bereich des Grids passt, wird der horizontale Scrollbalken angezeigt.

    Den horizontalen Scrollbalken kann man allerdings mit einem Hack abschalten:
    <pre>
    uses
    StdCtrls;

    type
    THackDBGrid = class(TDBGrid)
    end;

    procedure TForm1.FormCreate(Sender: TObject);
    begin
    with THackDBGrid(DBGrid1) do
    ScrollBars := ssNone;
    end;
    </pre&gt

    Comment


    • #3
      hallo andreas,
      <br><br>
      vielen dank für den hack, den kann ich bestimmt noch gut gebrauchen.<br>
      das mit den dbgrids ist logisch, dennoch wird manchmal (nach lust und laune)<br>
      eine horzontal-scrollbar angezeigt, obwohl massig freier platz auf der <br>
      rechten seite ist (vielleicht hängt es mit den unsichtbaren fields zusammen?!).<br>
      ausserdem habe ich noch ein problem:<br>
      in einer dbgrid soll auf der rechten seite neben jedem datensatz ein<br>button (speedbutton wäre auch möglich) angezeigt werden. dieser button sollte nach möglichkeit im dbgrid sein.<br>
      hast du vielleicht eine idee wie man sowas bewerkstelligen kann<br>
      bzw. ob es überhaupt machbar ist (aber was ist schon nicht machbar?).<br>
      mfg
      andi

      Comment


      • #4
        Hallo,

        selbstverständlich ist so etwas machbar, wobei Delphi dies bereits kann. Sobald <i>Nested DataSets</i> im Spiel sind, zeigt Delphi im TDBGrid einen Speedbutton mit der Beschriftung <b>...</b> an, über den die Detail-Anzeige aufgerufen wird. Man muss also als Fleißarbeit nur in der VCL nachsehen, wie Borland das gemacht hat ;-

        Comment


        • #5
          hallo andreas,
          <br><br>
          das mit dem ... button ist mir bekannt. allerdings ist das <br>
          für den user unzumutbar, da man einen klick benötigt, um die <br>
          celle zu markieren, einen zweiten klick um den ... button sichtbar<br>
          zu machen und schließlich einen dritten klick um ihn wirklich zu <br>
          drücken.
          aber dennoch danke für den vcl-tip, hätte ich eigentlich auch selber<br> drauf kommen können...
          <br>
          mfg
          andi

          Comment

          Working...
          X