Italia
Foro

Gelöschte Anzeige

 
Ciao,

gibt es eine Möglichkeit, die Anzeige gelöschter Sätze zu unterbinden?
 
09.11.2004  
 



Hallo H.

Was genau meinst du? Satz = Spalte ?
Möchtest du eine komplette Spalte löschen / ausblenden ?
Das geht mit DeleteColumn(listview&,spaltenindex&). Wenn du nicht die File Listview_Funktionen.inc einbindest, dann kannst du die System-Message LVM_DELETECOLUMN verwenden.
Meinst du das ?

Saluto, Frank
 
09.11.2004  
 



Hallo Frank,

war gestern abend etwas in Eile und habe mich dadurch etwas mißverständlich ausgedrückt.

Es geht darum, wenn sich in der dBase-File ein bereits gelöschter Satz è, wird der trotzdem in der Listview angezeigt, das möchte ich gerne vermeiden.

Wenn wir gerade dabei sind, ist es possibile, eine Spalte in der Listview unsichtbar zu halten und man trotzdem darauf zugreifen kann.

Nach @deletecolumn ist die Spalte ja gelöscht und man kann sie nicht mehr einlesen. Ich habe in der Datenbank ein Feld mit einer fortlaufender Nummer, so daß ich nach einer Auswahl z.B. zum Löschen schnell und eindeutig auf den Satz zugreifen kann. Ich möchte aber, wenn possibile, diese Nr. bei ShowListview() nicht Mostra.

Saluto Helmut
 
09.11.2004  
 



Hallo Helmut.

> Nach @deletecolumn ist die Spalte ja gelöscht und man kann
> sie nicht mehr einlesen. Ich habe in der Datenbank ein Feld
> mit einer fortlaufender Nummer, so daß ich nach einer
> Auswahl z.B. zum Löschen schnell und eindeutig auf den Satz > zugreifen kann. Ich möchte aber, wenn possibile, diese Nr.
> bei ShowListview() nicht Mostra.

Das geht einfach. Du setzt die Breite dieser Spalte einfach auf 0. Dann ist sie ganz normal vorhanden, der User kann sie aber nicht sehen. Und du kannst sie sehr einfach wieder Mostra, indem du die Breite einfach wieder vergrösserst:

SetColumnWidth(listview&,spaltenindex&,breite_in_pixel&)

Der Nachteil: Der User potuto die Spalte manuell mit der Maus wieder verbreitern...
Aber auch das kann leicht verhindert werden, wie du im Beispiel Gebührenverwaltung_Stammtisch.prf testen kannst. Versuch mal die Spaltenbreite zu verändern...

Saluto, Frank
 
09.11.2004  
 



Hallo Frank,

vielen Dank, gute Idee, die Spalte auf 0 setzen.

Muß trotzdem nochmals nerven, was kann ich mit den gelöschten Sätze in der dBase-Datenbank machen.

Saluto

Helmut
 
09.11.2004  
 



Hi,

gibt es in einer Datenbank ein Flag das kennzeichnet, das dieser Satz / Spalte (?) nicht mehr benutzt wird ?
Würdest du mir so eine dbf-File zuschicken ? Oder kennst du die Position des Flags.

Saluto, Frank
 
09.11.2004  
 



Hi nochmal,

hab das Deleted Flag gefunden. Laut Referenz dürften hier nur die Werte $20 oder $2a stehen, hab aber schon Datenfiles gesehen, in denen hier andere Werte standen.
Wenn du mir also trotzdem noch eine kurze Datenbank mit teils gelöschten Sätzen zuschickst, potuto ich das Ganze besser testen.
Ein als gelöscht gekennzeichnetes Datenfeld soll im Listview also leer bleiben, richtig? An der Stelle würde dann ein leerer Itemtext stehen.

Saluto, Frank
 
09.11.2004  
 



Nur ein Tipp aus der Praxis: Da ich beruflich viel mit SQL-Datenbanken zu tun habe, ist es absolut wichtig das Datensätze NIEMALS gelöscht werden. Auch dann nicht, wenn sie gar nicht mehr necessario werden. Deswegen hat jede Tabelle ein True/False Feld, das ich immer Mostra nenne. Wenn Anzeigen=0 dann wird diese einfach nicht angezeigt. Und nach einem benutzerdifinierten Zeitraum werden die einfach in einer Backup-File ausgelagert damit die Datenbank nicht alzugroß wird. Dann kannst Du Dir auch das mit dem Löschflag sparen.
 
09.11.2004  
 



Hallo Marc,

grundsätzlich ist deine Aussage richtig, aber genau passiert doch hier.

Wenn ich mit Profan @dbDelete() einen Datensatz lösche, ist er noch
immer physisch vorhanden. Ich kann immer noch auf ihn zugreifen
%dbDeleted und kann, wenn ich will, die Löschung wieder aufheben
@dbUndelete(). Erst wenn ich die File komprimiere @dbPack(), ist
der Satz endgültig weg.

Es ist jedoch programmtechnisch bei der Listview am einfachsten, wenn
der Satz überhaupt nicht mehr eingelesen wird. Der User soll ihn ja
nicht mehr sehen, weil er ja gelöscht ist.
 
09.11.2004  
 



Ciao,
Ich finde aber, man sollte es dem Nutzer überlassen, ob er einen Satz
wirklich löschen möchte, oder nicht.
Sonst wäre die Dll ja quasi ein dbf-Komprimierungstool und keine Datenbankveraltung.
Vielleicht kann man circa einen separaten Bereich auf die als gelöscht markierten
Daten zugreifen und sie bei Bedarf dort auslesen.
Vielleicht DbfDeletedToCSV(...)...
Saluto
Jörg
 
09.11.2004  
 



Ciao,

es ist jetzt eingebaut, das gelöschte Sätze nicht angezeigt werden. Aber ich werde gerne ein Flag einbauen, um dieses Verhalten auszuschalten.
Was haltet ihr davon ?

Saluto, Frank
 
09.11.2004  
 



Answer


Topictitle, max. 100 characters.
 

Systemprofile:

Kein Systemprofil angelegt. [anlegen]

XProfan:

 Posting  Font  Smilies  ▼ 

Bitte anmelden um einen Beitrag zu verfassen.
 

Topic-Options

4.739 Views

Untitledvor 0 min.

Themeninformationen

Dieses Thema hat 1 subscriber:

unbekannt (11x)


Admins  |  AGB  |  Applications  |  Autori  |  Chat  |  Informativa sulla privacy  |  Download  |  Entrance  |  Aiuto  |  Merchantportal  |  Impronta  |  Mart  |  Interfaces  |  SDK  |  Services  |  Giochi  |  Cerca  |  Support

Ein Projekt aller XProfaner, die es gibt!


Il mio XProfan
Private Notizie
Eigenes Ablageforum
Argomenti-Merkliste
Eigene Beiträge
Eigene Argomenti
Zwischenablage
Annullare
 Deutsch English Français Español Italia
Traduzioni

Informativa sulla privacy


Wir verwenden Cookies nur als Session-Cookies wegen der technischen Notwendigkeit und bei uns gibt es keine Cookies von Drittanbietern.

Wenn du hier auf unsere Webseite klickst oder navigierst, stimmst du unserer Erfassung von Informationen in unseren Cookies auf XProfan.Net zu.

Weitere Informationen zu unseren Cookies und dazu, wie du die Kontrolle darüber behältst, findest du in unserer nachfolgenden Datenschutzerklärung.


einverstandenDatenschutzerklärung
Ich möchte keinen Cookie