Top-Themen

Aktuelle Themen (A bis Z)

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit

Hab ein Mega Problem eine SMDBGrid ab und aufwärts zu sortieren

Mitglied: brazo98

brazo98 (Level 1) - Jetzt verbinden

18.01.2006, aktualisiert 23.01.2006, 6102 Aufrufe, 3 Kommentare

Hallo ich habe mir soeben auf der Seite www.scalabium.com die dbgrid free Komponente herunter geladen und installiert.
Nun wollte folgende machen das SMDBGrid sollte bei klick auf den Titel auf und abwärts sortieren also A->Z und umgekehrt.
Nun weiss ich nicht ob die das schon von Haus aus mit rein bingen falls ja dann wäre ich dankbar wenn das jemand weiss. Falls nein habe ich hier noch ein paar Infos.

Nun ich habe eine MySQL am laufen, und habe eine Ztable auf die Stammdaten gelinkt. Das SMDBGrid zeigt mir dann die Daten an.
Ich habe es nun mal versucht mit einer SQL-Menge dort geht das weil ich dann diesen Code verwendet habe der geht auch.
Schlecht ist halt wenn ich in den DBedit nun eine Person suche zeigt es mir den nicht mehr im SMDBGrid an sonder nur in den Feldern. Also kann ich leider nicht mit der SQL-Menge arbeiten sondern muss bei der Tabelle bleiben. Hier der Code der geht mit SQL:

private var bsSortOrde

procedure TForm2.SMDBGrid1TitleClick(Column: TColumn);
var sSortColumn: String;

begin
sSortColumn := smdbgrid1.Columns.Items[Column.index].FieldName;
zquery14.close;
if bsSortOrder then
begin
zquery2.SQL.Text:=('select *,(Stimmaktien/10) as anteil_stimm, (Stammaktien+(Stimmaktien/10)) as summe_zeile from uemaske where kundenid = :kundenid and aktiv=0 order by kundenid, ')+ sSortColumn;
End
else
begin
Zquery2.SQL.Text:=('select *,(Stimmaktien/10) as anteil_stimm, (Stammaktien+(Stimmaktien/10)) as summe_zeile from uemaske where kundenid = :kundenid and aktiv=0 order by kundenid, ')+sSortColumn +' DESC';
select *,(Stimmaktien/10) as anteil_stimm, (Stammaktien+(Stimmaktien/10)) as summe_zeile from
//uemaske where kundenid = :kundenid and aktiv=0 order by kundenid
end;
Zquery2.Open;
bsSortOrder := not bsSortOrder;
end;



Und hier habe ich versucht das mal so ab zu ändern ging leider nicht! Bin echt am verzweifeln ich wäre echt froh wenn mir hier jemand weiter helfen könnte Danke!

procedure TForm2.SMDBGrid2TitleClick(Column: TColumn);
var sSortColumn: string;
var stDescending: string;
var stAscending: string;
begin
stDescending := SMDBgrid2.Columns.Items[Column.Index].FieldName;
if bsSortOrder then
begin
SMDBGrid2.SetSortField(datasource1.DataSet.FindField('id'),stDescending);
end
else
begin
SMDBGrid2.SetSortField(datasource1.DataSet.FindField('id'),stAscending);
end;
end;

HIer liegt das Problem bei ,stDescending und stAscending. Wenn man das so umgestalten könnte das diese beiden eben auf klick sich ändern wäre das Problem schon gelöst weil die sind zuständig für das auf und abwärtige sortieren.

Vielen vielen danke
Mitglied: reini56
22.01.2006 um 21:41 Uhr
Ich glaub das hilft dir:#
procedure TfrmHTML1.SMDBGrid2TitleClick(Column: TColumn);

{$J+}
const PreviousColumnIndex : integer = 1;
{$J-}
begin
(Column.Grid as TSMDBGrid).ClearSort;
if SMDBgrid2.DataSource.DataSet is TCustomADODataSet then
with TCustomADODataSet(SMDBgrid2.DataSource.DataSet) do
begin

if (Pos(Column.Field.FieldName, Sort) = 1) and (Pos(' DESC', Sort)= 0) then
begin
Sort := Column.Field.FieldName + ' DESC';
// if Column is TSMDBColumn then
TSMDBColumn(Column).SortType := stDescending;
Sortname := Column.Field.FieldName;

end
else
begin
Sort := Column.Field.FieldName + ' ASC';
TSMDBColumn(Column).SortType := stAscending;
Sortname := Column.Field.FieldName;
end;
end;
end;
Bitte warten ..
Mitglied: brazo98
23.01.2006 um 09:23 Uhr
Hallo danke für deinen Code nun habe ich das mal getestet.
Leider mosert er mir hier in dieser Zeile das es ein undefierter Bezeichner sein solle hier mal der Output ich wäre dir sehr dankbar wenn du mich hier zum Ziel supporten würdest das ist echt schon lange ein delemer bekomme und bekomme das nicht hin.

if SMDBgrid2.DataSource.DataSet is TCustomADODataSet then

[Fehler] Unit2.pas(891): Undefinierter Bezeichner: 'TCustomADODataSet'[Fehler] Unit2.pas(891): Operator ist auf diesen Operandentyp nicht anwendbar
[Fehler] Unit2.pas(892): Undefinierter Bezeichner: 'DataSource9'
[Fehler] Unit2.pas(892): Undefinierter Bezeichner: 'DataSource9'
[Fehler] Unit2.pas(892): 'DO' erwartet, aber Bezeichner 'DataSet' gefunden
[Fehler] Unit2.pas(895): Undefinierter Bezeichner: 'Sort'
[Fehler] Unit2.pas(895): Inkompatible Typen
[Fehler] Unit2.pas(900): Undefinierter Bezeichner: 'Sortname'
[Warnung] Unit2.pas(1016): Text hinter dem abschließenden 'END.' wird vom Compiler ignoriert
[Fataler Fehler] lss.dpr(7): Verwendete Unit 'Unit2.pas' kann nicht compiliert werden

Danke
Bitte warten ..
Mitglied: brazo98
23.01.2006 um 09:34 Uhr
Hallo also ich benutze keine ADO Komponete ich mache das nur mit Zquery oder normale Datasource komponenten.

Wie das die Routine heisst keine Ahnung aber die TCustomADODataset geht hier nicht denke ich !

Vielen vielen dank.

Und die var Sortname: String und die sort: string hat glaube ich auch gefehlt kann das sein?

danke nochmals
Bitte warten ..
Ähnliche Inhalte
Windows Server

Landsoftware Faust Datenbank mega langsam

Frage von DaveDaveWindows Server2 Kommentare

Guten Abend die Herren, Google spuckt leider so rein gar nichts diesbzgl. aus und der Kundensupport gewinnt garantiert keine ...

Windows Server

Probl. b. Programminst. nach Netzlaufwerksbuchst.: invalid directory name specified or the removable media is not properly inserted

gelöst Frage von departure69Windows Server4 Kommentare

Hallo. Situation: - SBS 2008 AD-Domäne - versch. Memberserver, teils phys. teils virtuell, alle im selben Netz - Clients ...

Neue Wissensbeiträge
Internet

Kommentar: Bundesregierung erwägt Ausschluss von Huawei im 5G-Netz - Unsere Presse wird immer sensationsgieriger

Information von Frank vor 14 StundenInternet2 Kommentare

Hier mal wieder ein schönes Beispiel für fehlgeleiteten Journalismus und Politik zugleich. Da werden aus Gerüchten plötzlich Fakten, da ...

Windows 10

Netzwerk-Bug in allen Windows 10-Versionen durch Januar 2019-Updates

Information von kgborn vor 18 StundenWindows 101 Kommentar

Nur ein kurzer Hinweis für Admins, die Windows 10-Clients im Portfolio haben. Mit den Updates vom 8. Januar 2019 ...

Windows 10

Windows 10 V1809: Rollout ist gestartet - kommt per Windows Update

Information von kgborn vor 1 TagWindows 102 Kommentare

Eine kurze Information für die Admins, die Windows 10 im Programm haben. Microsoft hat die letzte Baustelle (die Inkompatibilität ...

Sicherheit

Heise Beitrag Passwort-Sammlung mit 773 Millionen Online-Konten im Netz aufgetaucht

Information von Penny.Cilin vor 1 TagSicherheit6 Kommentare

Auf Heise Online ist folgender Beitrag veröffentlicht worden: Heise Beitrag passwörter geleakt Ich bin mir jetzt nicht ganz sicher, ...

Heiß diskutierte Inhalte
Switche und Hubs
Medienkonverter mit 12 oder 24 Ports gesucht
Frage von wmuellerSwitche und Hubs24 Kommentare

Guten Morgen, ich bin auf der Suche nach einem größeren Medienkonverter, der "stumpf" 1:1 die Ports auf über ein ...

Windows Server
Uhren gehen immer wieder falsch
Frage von killtecWindows Server23 Kommentare

Hallo, ich habe folgende Konstellation: 1. Physischer DC Div. Virtuelle DC's auf Hyper-V Servern Die Hyper-V-Server, der Physische DC ...

Batch & Shell
Mit findstr batch doppelte zeilen einer txt löschen
Frage von Burningx2Batch & Shell21 Kommentare

Hi Vor einer weile habe ich im netzt einen windows shell befehl gefunden mit welchem man über die konsole ...

Verschlüsselung & Zertifikate
Netzwerkfreigabe Verschlüsselung
Frage von grill-itVerschlüsselung & Zertifikate20 Kommentare

Moin zusammen, sicher nutzen hier die ein oder anderen ein Produkt zur Verschlüsselung von Netzwerkfreigaben/-laufwerken auf denen hochsensible Daten ...