AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Grid mit unterschiedlicher Zeilenanzahl

Offene Frage von "Banetel.eu"
Ein Thema von Banetel.eu · begonnen am 14. Okt 2007 · letzter Beitrag vom 16. Okt 2007
Antwort Antwort
Benutzerbild von Banetel.eu
Banetel.eu

Registriert seit: 7. Okt 2007
31 Beiträge
 
Delphi 2007 Enterprise
 
#1

Grid mit unterschiedlicher Zeilenanzahl

  Alt 14. Okt 2007, 21:52
http://img132.imageshack.us/img132/5137/gridqn6.th.jpg

Wie oder ob ist es möglich ein Grid wie auf den Bild oben zu erzeugen?

Es sollte ca. so sein 1.Zeile 2 Zellen
2.Zeile 24 Zeilen (1.Zeile *12)
3.Zeile 744 Zeilen (2.Zeile * 31)

Zum Testen geht natürlich auch
1.Zeile 2 Zeilen
2.Zeile 4 Zeilen
3.Zeile 8 Zeilen

Alle Zeilen unter 3 sollen die gleichen Anzahl wie Zeile 3 haben. Ich habe ein DrawGrid genommen aber StringGrid geht auch.
Delphi Anfänger - bitte um Verständnis
  Mit Zitat antworten Zitat
Benutzerbild von Banetel.eu
Banetel.eu

Registriert seit: 7. Okt 2007
31 Beiträge
 
Delphi 2007 Enterprise
 
#2

Re: Grid mit unterschiedlicher Zeilenanzahl

  Alt 15. Okt 2007, 21:13
Also ich habe es jetzt selber geschafft - zwar über ein Umweg aber es geht

Undzwar so
Delphi-Quellcode:
if StringGrid1.LeftCol = 0 then Monat_minus;
if StringGrid1.LeftCol = 25 then Monat_plus;
Und halt die Anzeigen oben selber gemacht.
Miniaturansicht angehängter Grafiken
bild_178.jpg  
Delphi Anfänger - bitte um Verständnis
  Mit Zitat antworten Zitat
Hansa

Registriert seit: 9. Jun 2002
Ort: Saarland
7.554 Beiträge
 
Delphi 8 Professional
 
#3

Re: Grid mit unterschiedlicher Zeilenanzahl

  Alt 16. Okt 2007, 01:29
Wer andauernd Zeilen mit Zellen oder gar Spalten verwechselt, der braucht sich nicht zu wundern.
Gruß
Hansa
  Mit Zitat antworten Zitat
quendolineDD

Registriert seit: 19. Apr 2007
Ort: Dresden
781 Beiträge
 
Turbo Delphi für Win32
 
#4

Re: Grid mit unterschiedlicher Zeilenanzahl

  Alt 16. Okt 2007, 15:17
Zeig bitte mal deinen Quelltext, wie du die Formatierung vorgenommen hast

Danke im Vorraus
Lars S.
Wer nicht mit der Zeit geht, geht mit der Zeit.
  Mit Zitat antworten Zitat
Benutzerbild von Banetel.eu
Banetel.eu

Registriert seit: 7. Okt 2007
31 Beiträge
 
Delphi 2007 Enterprise
 
#5

Re: Grid mit unterschiedlicher Zeilenanzahl

  Alt 16. Okt 2007, 22:40
Zitat von Hansa:
Wer andauernd Zeilen mit Zellen oder gar Spalten verwechselt, der braucht sich nicht zu wundern.
LOL naja ich habe es ja geschaft


Den Code bekommst du natürlich:

Delphi-Quellcode:
unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, Grids, StdCtrls, ExtCtrls, Calendar, ColorGrd;

type
  TForm1 = class(TForm)
    StringGrid1: TStringGrid;
    Panel1: TPanel;
    Panel2: TPanel;
    Panel3: TPanel;
    Panel4: TPanel;
    Timer1: TTimer;
    procedure FormCreate(Sender: TObject);
    procedure Timer1Timer(Sender: TObject);
    procedure Panel3Click(Sender: TObject);
    procedure Panel4Click(Sender: TObject);
    procedure Monat_plus;
    procedure Monat_minus;
    procedure StringGrid1DblClick(Sender: TObject);
  private
        { Private-Deklarationen }
  public
    { Public-Deklarationen }
  end;

var
  Form1: TForm1;
  Monat : array[1..12] of String;
  Monata: integer;
  Jahr: integer;

implementation

{$R *.dfm}

procedure TForm1.FormCreate(Sender: TObject);
var
  I: Integer;
  Vorm: Integer;
  Norm: Integer;
begin


StringGrid1.Cells[0,0] :='...';
StringGrid1.ColWidths[0] := 70;
for I := 1 to 31 do begin
StringGrid1.Cells[I,0] :=' '+ inttostr(I);
end;
StringGrid1.Cells[32,0] :=' ...';
StringGrid1.ColWidths[32] := 70;

for I := 1 to 5 do begin
StringGrid1.RowHeights[I] := 100;
end;
StringGrid1.LeftCol:=1;

Monat[1]:='Januar';
Monat[2]:='Februar';
Monat[3]:='März';
Monat[4]:='April';
Monat[5]:='Mai';
Monat[6]:='Juni';
Monat[7]:='Juli';
Monat[8]:='August';
Monat[9]:='September';
Monat[10]:='Oktober';
Monat[11]:='November';
Monat[12]:='Dezember';


Jahr:=strtoint(FormatDateTime('yyyy', Now));
Panel2.Caption:=FormatDateTime('yyyy', Now);

Vorm:=strtoint(FormatDateTime('m', Now));
if Vorm = 1 then begin Vorm:=12; end else Vorm:=Vorm-1;
Panel3.Caption:=Monat[Vorm];

Monata:=strtoint(FormatDateTime('m', Now));
Panel1.Caption:=Monat[strtoint(FormatDateTime('m', Now))];

Norm:=strtoint(FormatDateTime('m', Now));
if Norm = 12 then begin Norm:=1; end else Norm:=Norm+1;
Panel4.Caption:=Monat[Norm];

end;


procedure TForm1.Panel3Click(Sender: TObject);
begin
 Monat_minus;
 StringGrid1.LeftCol := 1;
end;

procedure TForm1.Panel4Click(Sender: TObject);
begin
Monat_plus;
end;

procedure TForm1.StringGrid1DblClick(Sender: TObject);
begin
showmessage(inttostr(StringGrid1.Row)+' '+inttostr(StringGrid1.Col));
end;

procedure TForm1.Timer1Timer(Sender: TObject);
begin
if StringGrid1.LeftCol = 0 then Monat_minus;
if StringGrid1.LeftCol = 25 then Monat_plus;
end;





procedure TForm1.Monat_plus;
var
  Vorm: Integer;
  Norm: Integer;
begin
StringGrid1.Enabled:=false;
  Panel3.Caption := Monat[Monata];
  Norm := Monata;
  if Norm = 12 then
  begin
    Norm := 1;
    Jahr := Jahr + 1;
    Panel2.Caption := inttostr(Jahr);
  end
  else
    Norm := Norm + 1;
  Monata := Norm;
  Panel1.Caption := Monat[Norm];
  Vorm := Norm;
  if Vorm = 12 then
  begin
    Vorm := 1;
  end
  else
    Vorm := Vorm + 1;
  Panel4.Caption := Monat[Vorm];
  StringGrid1.LeftCol := 1;
StringGrid1.Enabled:=true;
end;

procedure TForm1.Monat_minus;
var
  Norm: Integer;
  Vorm: Integer;
begin
StringGrid1.Enabled:=false;
  Panel4.Caption := Monat[Monata];
  Norm := Monata;
  if Norm = 1 then
  begin
    Norm := 12;
    Jahr := Jahr - 1;
    Panel2.Caption := inttostr(Jahr);
  end
  else
    Norm := Norm - 1;
  Monata := Norm;
  Panel1.Caption := Monat[Norm];
  Vorm := Norm;
  if Vorm = 1 then
  begin
    Vorm := 12;
  end
  else
    Vorm := Vorm - 1;
  Panel3.Caption := Monat[Vorm];
  StringGrid1.LeftCol := 24;
StringGrid1.Enabled:=true;
end;


end.

Mit FormatDateTime('dddd', StrToDate(inttostr(I)+'.'+inttostr(Monata)+'.'+inttostr(Jahr)); kannst du auch noch den aktuellen Wochentag anzeigen lassen.


Mit Verbesserung immer her mit
Delphi Anfänger - bitte um Verständnis
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 16:58 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz