Hallo Community,
Ich habe vor ca. 2 Wochen ein Videotutorial gefunden/gesehen, wo der Sprecher erklärt, wie man ein DataTemplate für eine ListBox erstellt. Er verwendete als Model XBox Spiele, es war also eine Art Vertikale Listbox mit XBox-Spiel Covern. Beim auwählen eines Covers wurde eine kleine Beschreibung zum Spiel mit einem netten kleinen 3D-Effekt dargestellt. Schlussendlich sah es fast einwenig wie ein "Coverflow" aus.
Nur hab ich diesen Link nicht mehr, ich habe in meinem Google-Web-History durchkämmt, Browser-History etc. ich finde diesen Link einfach nicht mehr 😦
Evtl. kennt jemand von der Community das Video und kann mir den Link schicken. Das wäre echt super!
Gruss,
.unreal
Original von Reverent
Hallo Sharoo,das habe ich gemacht und das Ergebniss war bei beiden das gleiche.
Die Daten auf Objekt mappen und dann die Objekte in einer List<objekt> verwalten, finde ich persönlich besser und es entsteht, glaube ich, auch nicht so ein Overhead wie beim DataSet.Markus
Dieser "Overhead" hat aber auch einige Vorteile, wie zum Beispiel das Suchen, Filtern und Sortieren. Im DataSet sind diese "Features" bereits implementiert, und können mit sehr wenig Codezeilen benutzt werden. Das sind features die Endbenutzer sehr gerne sehen und die usability enorm steigern.
Ich mag den Zugriff auf die Daten mit dem ewigen casten beim Dataset auch nicht wirklich, darum arbeite ich an einer eigenen BindingList<>. SortableeBindinglist habe ich hingekrigt, aber leider ohne advanced sorting. Eine SortSearchableBindingList<> bin ich noch dran, werde meine Ergebnisse auch hier posten. Das Ziel ist es, eine generische BindingList, welche alle grundfunktionen, wie Suchen, Filtern, Sortieren, Laden, Speichern etc. ohne diesen "Overhead" ermöglicht.
Gruss,
.unreal
Hallo M@tuk
SELECT
mytable.*,
mystatus.*
FROM
mytable
INNER JOIN mystatus ON mytable.id = mystatus.mytable_id
ORDER BY
mystatus.datum DESC
WHERE
mytable.id = x
Wenn du den jüngsten willst dann brauchst du nur noch nen TOP 1
Gruss,
Tobi
Hallo KevinWinter
Na, Cascade ist auch Englisch.
Gruss,
.unreal
P.S Installier den Manager auf Englisch
edit:
"überlappen"... naja, ich sage mal das ist Cascade weils nix anderes gibt 🙂 Scheiss übersetzung...
Ich wkenn nhibernate leider noch nicht gut, ich weiss nur dass es existiert 🙂 Iist etwas dass ich schon seit längerem vorhabe anzuschauen. Darf ich mal unwissend und nicht nachgeforscht Fragen, wie die Darstellung der Daten bei nhibernate funktioniert? Wird Databinding unterstztütz?
Gruss,
.unreal
Hallo KevinWinter
Nun ist deine Frage klar 🙂. Wir sind hier nicht in einer Anwendung sondern auf der SQL-Server Ebene. Dies ist relativ einfach: Rechtsklick auf eine Tabelle/Modify. Dort im Fenster oben auf Table Designer/Relationships... Das letzte einstellbaren Property mit dem Plus aufklappen, dort kannst du Delete/Update Rule auf Cascade setzen.
Diese Funktion ist mit hoher Vorsicht zu geniessen.
Gruss,
.unreal
Warum willst du alles neu erfinden? Das DataSet kann dies ja bereits alles, mitels SqlDataAdapter und DataSet.Update() wird Datensatzgenau das entsprechende Query ausgeführt. Zudem werden Diverse Sortier, Such & Filterfunktionen angeboten.
Gruss,
.unreal
Hallo KevinWinter
Original von KevinWinter
wenn ich aber ForeignKeyConstrain anlegen will, brauche ich die Info von einer zusätzlichen DataTable
Die brauchst du immer, ansonsten kann dein DS ja gar nicht wissen, ob irgend ein ForeignKey auf dein PrimaryKey zeigt. Wie soll das DataSet sonst wissen, wo eine Relation besteht?
Gruss,
.unreal
Original von Tokka
Im Skriptum und Lehrbuch sind die Entitäten immer in der Einzahl benannt, aber ob nun einzahl oder mehrzahl ist ja ehr eine "optische" Sache
Ich habe schon sehr viele Scripts in den Händen gehabt, bei denen mir fast die Haaren ausgefallen sind, darum muss das ganz und gar nicht heissen, dass es korrekt ist. Ich kann dir leider nicht mehr sagen, von wo ich diese "Behauptung" habe, vielleicht weiss jemand anders hier in der Community mehr und wird uns belehren.
SELECT * FROM Abteilungen ist in meinen Augen logischer als SELECT * FROM Abteilung.
"Optisch" wäre für mich darum höchstens die Sprache, ob die Entität nun in Englisch oder Deutsch ist.
Gruss,
.unreal
Hallo KevinWinter
Zu Frage 1:
Schau dir mal ForeignKeyConstraint.DeleteRule bzw. ForeignKeyConstraint.UpdateRule an. Die ConstraintCollection erreichst du über DataTable.Constraints.
In der MSN Doku hats bei der ForeignKeyConstraint Klasse ein gutes Beispiel. Der Onlinelink wäre http://msdn2.microsoft.com/en-us/library/st1t2c35(VS.80).aspx.
Gruss,
.unreal
edit: Link fixed
Hallo Tokka
Für mich wirken die Tabellen noch nicht genug Normalisiert.
Um in einem Query auf ein Feld zuzugreifen, würdest du Abteilung.AbteilungID bzw Abteilung.AbteilungsName schreiben. Das ist eine Redundanz! Viel logischer ist Abteilung.ID bzw. Abteilung.Name.
Desweiteren werden Entitäten meines Wissens in mehrzahl geschrieben: Abteilung -> Abteilungen.
Gruss,
.unreal
Hi badrulecracker
Schau dir mal die SqlConnection Klasse an! Die Serverinformationen werden mittels Connectionstring übergeben. Auch wenn Visual Studio sehr viel Wert auf diese Klickbaren Datasources setzt, ich würde das alles mindestens das erste mal von Hand programmieren.
Gruss,
.unreal
Hallo BHK
Z.B kannst du diese Dateien über ein Setup-Projekt mitgeben (sprich deine Kunden werden deine Anwendung über ein Setup.exe installieren)
Gruss,
.unreal
Hallo Nekromanter
Ich entwickle selbst mit VS.PHP, es ist ein geniales Addin und meiner nach ist es eine der besten IDE für die PHP Entwicklung.
Allerdings stört mich extrem die HTML Intellisense. VS hat eine geniale Intellisense für HTML, allerdings wird bei PHP Projekten eine andere Intellisense verwendet, die um längen schlechter ist. Vieleicht hat jemand eine Ahnung, ob und wie man das umstellen kann?
Gruss,
.unreal
hallo cyberblast
Entweder du hast AcceptChanges() aufgerufen, oder du musst noch EndCurrentEdit aufrufen.
Gruss,
.unreal
Der Scope der Setting muss auf User und nicht Application sein, dann sollte das funktionieren. Wenn du die Settings unbedingt von Hand bearbeiten willst, dann drück doch einfach F7, wenn du in der Designermaske der Properties bist. VS bietet einen schönen XML-Editor =)
Gruss,
.unreal
_Original von herbivore_Die genauen Zusammenhänge sind noch etwas komplizierter
darum ist es auch interessant 🙂
Hallo Joetempes
Es besteht ein DataBinding zwischen deinem DataGridView und deiner DataSource (das DataSet). Änderungen über das DataGridView werden darum automatisch in deinem DataSet "gespeichert". Darum brauchst du nur noch dataset.WriteXml() aufzurufen.
Gruss,
.unreal
AcceptChanges wird implizit in Update() aufgerufen!
.unreal
Das Timerzeugs ist absoluter Schwachsinn! Das ist pures gebastel Dies ist doch ein klares zeichen, dass du den falschen Event verwendest. Validating/Validated Event ist GENAU das was du brauchst.
Ansonsten könntest du auch den MausMove event nehmen, und nen Timer drüber, und da überprüfen ob die richtige TextBox ausgewählt ist grübel
Mach dir das Leben nicht unnötig kompliziert =)
.unreal
Original von talla
Okay, ich dachte du bekommst es trotz der Erkenntnis das der Long Wert die Millisekunden ab dem 1.1.1970 sind, nicht hin. Deshalb die klein bissle forsche Antwort, sorry deswegen 🙂
Ja, war zuerst ziemlich verärgert über deine Aussage, und wollte entsprechend eine Antwort schreiben. Hab dann aber gemerkt, dass ich mich nicht sehr klar ausgedrückt habe 🙂 Ist kein Thema mehr!
Original von talla
Am Anfang hätt ich beim Long Wert als Datum auch natürlich an die Ticks gedacht Ich auch 🙂 Ticks sind Nanosekunden, das könnte man umrechnen lassen, allerdings stimmt auch hier wieder der Startpunkt nicht -> falscher Weg.
Original von talla
Mit der Angabe vom Startdatum und das der Wert die seit daher vergangenen Millisekunden sind, ist die Diskussion doch gegessen oder? Einfach den Wert als Millisekunden aufaddieren und fertig. Ja, sie war eigentlich für mich gegessen, darum hab ich geschrieben "Habs rausgefunden".
Original von norman_timo
Die Frage ist eher, woher hast Du Deinen Long, denn bei dieser Quelle musst Du nach Hilfe suchen, nicht bei dem DateTime... Kommt aus einem Log einer Java-Portalsoftware. Es existieren auch keine Defintionen 🙁 Mir sind da die Hände gebunden, kann nur nehmen was da ist 🙂
Original von svenson
Ist allerdings schön blöd
Es gibt noch dooferes: Bei Visual Basic (nicht .NET) steht der Wert 0 für den 30.12.1899. Super Idee! Excel beginnt einen Tag später, beim 1.1.1900. Wie bereits gesagt, der UNIX Timestamp beginnt bei 1.1.1970.
Gruss,
.unreal
Original von talla
Ist es so schwer sich mal in der Doku anzuschaun was für Funktionen DateTime bietet? Erstell dir nen DateTime mit dem 1.1.1970 als Datum und addiere einfach die Millisekunden hinzu.
Ich habe vieliecht die Frage nicht richtig Formuliert. Ich wusste nicht, ab wann der Long anfängt (-> 1.1.1970), und ob es wirklich Milisekunden sind. In der MSDN findest du nix von Datum als Long, diese Definitionen habe ich in der Javadokumentation gefunden. Mit diesen Definitionen ist es ein Kinderspiel, aber eben ohne gehts nit.
Gruss,
.unreal
p.s -> close
Habs rausgefunden: kommt von Java, ist ab 1.1.1970 + den Longwert in Milisekunden.
Gruss,
.unreal
Hallo Community
Ich habe ein Datum als Long in meinen Logfiles (z.B. 1144101600000). Wie kann ich diesen in ein DateTime konvertieren?
Gruss,
.unreal
In der Aktuellen dot.net Magazin Ausgabe hat es 4 Seiten "Alles was man über Interface wissen muss". Kann diesen Artikel nur Empfehlen, wobei ich den Preis des Magazins in der Schweiz (umgerechnet: 11€) zu teuer finde.
.unreal
Als DataMember den Namen der DataRelation, sprich "WareInputRelation" angeben. Liest du überhaupt was ich schreibe?
Als DataMember der Name der Relation angeben. Steht übrigens im MSDN-Artikel der ich dir gepostet habe drin.
.unreal
BindingSource ist "nur" eine Hilfsklasse, du kannst auch direkt binden ohne BindingSource (empfehle ich dir nicht).
In der MSDN hat es einen Artikel namens "How to: Create a Master/Detail Form Using Two Windows Forms DataGridView Controls ". Such mal nach dem Artikel!
Langt es zu wenn ich da nur einen Dataset einer Grid zuweise oder muss ich da mit Bindingsource arbeiten?
Wie im Artikel ersichtlich ist, bindest du das zweite DataGridView an die Relation (-> dataset.Releations.Add(...)), ob du da ein BindingSource verwendest oder nicht, spielt keine Rolle. BindingSource vereinfacht vieles, da man z.b besser auf den currencymanager zugreifen kann.
Gruss,
.unreal
Wenn du mit datasets arbeitest: DataSet.HasChanges()
.unreal
php wird lokal auf dem funcpic server ausgeführt, oder der host des webservers darf auf den mysql server. zu 99% erlauben mysql server von shared hosting keine remoteverbindungen.
mysql-front löst dieses problem über eine phpdatei, an die man ein query schicken kann und ein xml-resultat kriegt.
gruss,
.unreal
gruss aus dem endlich wiedermal sonnigen zürich...
aber kalt ist es irgendwie immernoch hier in zürich brrrr naja, bald gehts aufs snowboard freu
In der MSDN-Doku ist zu lesen, dass der Konstruktor nur den Select- und nicht den InsertCommand als Parameter nimmt.
SqlDataAdapter.InsertCommand = xxxx brauchst du!
Gruss,
.unreal
Hallo linen
Können ja, aber dabei lernst du nicht so viel 🙂 Ich denke, herbivore hat dir bereits gesagt, wie du vorgehen sollst. Es gibt wirklich viele Beispiele in der Dokumentation. In .NET 2.0 gibt es sogar eine Hilfsklasse "BackgroundWorker", zu dieser gibt es auch einige Beispiele (bin aber erhlich gesagt nicht so ein Freund von dieser Klasse).
Am besten versuchst du es alleine und wenn du dabei Probleme hast, postest du diese wieder hier. Ich bin überzeugt, dass dir die Community bei konkreten Fragen weiterhelfen wird.
Dies ist eine Anlaufstelle für Programmierer, von einem Programmierer darf man eine gewisse Selbständigkeit erwarten.
Gruss,
.unreal
Der localuser wird dem Remoteuser vorgezogen. Wenn du admin@deine_ip und admin@localhost hast, und du greifst lokal zu, dann musst du das pw vom admin@localhost angeben.
.unreal
Original von dN!3L
Ab und zu mal ein "Application.DoEvents()" tut's oft auch schon (z.B. in der foreach-Schleife). Wenn man nicht's anderes nebenbei machen muss und Threading nicht nötig ist bzw. den Aufwand nicht Wert wäre, reicht das, damit die GUI nicht hängen bleibt (jedenfalls nicht die ganze Zeit).Gruß
dN!3L
Bin nicht dieser Meinung. Laut Richtlinien von Microsoft gehören alle Aktionen, die länger als 0.2 Sekunden dauern können in einen Thread. In diesem Codebeispiel wäre der Aufwand für die Implementierung eines Threads mehr als vertretbar.
Zu 99% ist es sowieso der Fall, dass die, die DoEvents() verwenden, keinen Thread implementieren könnten.
leider hängt es jetzt einfach beim kopieren einer grossen datei...... und gleich ein Beispiel, warum DoEvents() einen Designfehler ist.
Gruss,
.unreal
Hallo kes
Validating/Validated events
Gruss,
.unreal
Die Applicationsettings sind readonly, da lässt sich nix dran rütteln. Usersettings sind bearbeitbar.
Doch, er würde auf Funktionen wie z.b. das Enablen des Knopfes verzichten.
.unreal
Frage von mir: können normale DataSets, sprich nicht Typisiert.. überhaupt abhängigkeiten speichern?
Meinst du DataRelations? -> klar
.unreal
Schade, hab "nur" 2000.
exec finde ich bissl unsauber, werde es über das Datum machen!
Danke & Gruss,
.unreal
Hallo Community
Gibt es eine Möglichkeit, bei MSSql 2000 die Anzahl bei TOP per Parameter zu übergeben?
z.B. SELECT TOP @amount * FROM table
Gruss,
.unreal
http://msdn2.microsoft.com/en-us/library/system.windows.forms.binding.format.aspx
na wenn das zuwenig ist? Du musst nur den e.Value entsprechend setzen.
.unreal
Nicht wirklich Lebensnotwendig, finde es allerdings sehr interessant: http://www.codeproject.com/useritems/LineCounterAddin.asp. Zählt die Zeilen der Solution.
.unreal
Hi herbivore
Dachte schon der Thread sei tot, bin darum umso dankbarer für die Antwort. Ich dachte mir auch, dass Serializable ein gutes Stichwort wäre. Habe darum auch entsprechend in der MSDN gesucht, leider nichts gefunden. Ich probiere es nun mal aus und werde meine Erfahrungen posten.
Gruss,
.unreal
Guck dir mal die Anwendung SportTracks an! Da kannst du deine GPS punkte importieren und in Google Maps usw. angucken 🙂 (http://www.zonefivesoftware.com/SportTracks/)
.unreal
Hallo MasterOfCoding
In meinem letzten Beitrag habe ich geschrieben, was der Vorteil einer GUID ist, und wann man diese Verwenden soll. Ansonsten programmier einfach mal mit einer GUID, wirst es dann ziemlich schnell bemerken 🙂
.unreal
Original von Golo Haas
Insgesamt bin ich von dem DGV ein wenig enttäuscht, das Teil wird angepriesen als die ultimative Lösung für alles mögliche und mit zig tollen neuen Features, und im Kleingedruckten kommt dann wahnsinnig oft der Hinweis, dass es in diesem und jenem Ausnahmefall eben doch nicht ganz so leicht geht ...
Das Problem habeich auch. Ich packe nur ungerne alles immer in ein DataSet. Will man allerdings all die coolen Features wie Filtering, Sorting usw. kommt man aber nicht drum, ausser man implementiert immer alle Interfaces, was einen beträchtlichen Mehraufwand ist. ICh werde mir allerdings nächstens dieser Problematik widmen, mal schauen was sich da machen lässt.
Diese Typed DataSets im Designer sagen mir überhaupt nicht zu. Ich will jede einzelne Zeile programmieren, dann ists auch nachvollziehbar.
http://www.codeproject.com/csharp/customcollection.asp könnte evtl. Interessant sein, habe nur kurz die Übersicht gelesen.
.unreal
Verwende die Format/Parse Events von der Bindingklasse.
Gruss,
.unreal