.
Anmeldung | Registrieren | Hilfe

.NET-Blogs Archiv Juli 2007

BE Gantt Update

30.07.2007 21:53:07 | Boas Enkler

Momentan forciere ich etwas das Gantt Projekt, deswegen bin heute mal wieder einen ganzen Schritt vorwärts gekommen.

Es gibt nun auf der linken Seite des Controls eine Ansicht die der Identifizierung einer Zeile dient (s. Screenshot).
Auch können Bars nun via intuitivem Drag & Drop verschoben werden. Als nächstes Folgt noch das sizen und neu anlegen via Drag & Drop.

Auch habe ich weitere Optimierungen in das Ganttchart eingebaut, welche die Performance noch weiter verbessern konnte.

Als nächste Punkte habe ich mir auch noch das einstellen der Datumsanzeige stehen. Momentan wird immer das ShortDate passend zur aktuellen Culture verwendet, hier wird der User demnächst abweichende Masken definieren können.

Auch werde ich nach aussen weitere einfache Möglichkeiten geben, das Design beeinflussen zu können.

Hier nun der Screenshot

BE Gantt Component, Beta Tester gesucht

29.07.2007 17:49:57 | Boas Enkler

Im moment entwickle ich an einer eigenen GanttCharting Componente.

Hierfür suche ich noch BetaTester.
Die Komponente ist in 100%  managed .NET 2.0 C# Code geschrieben.

Hier mal ein kleiner Screenshot:




Der Schwerpunkt der Komponente liegt in der anpassbarkeit. So kann mal das Erscheinungsbild praktisch jedes UI Elementes über Properties einstellen.

So kann man z.bps. den Bars einen Farbverlauf geben, Pre , Post und Inner images definieren.
Das Control läuft auch noch mit einigen hunder / tausend bars sehr performant


Wichtig wären mir Bugreports sowie hinweise auf Useability schwächen.

Ein paar coole Features in VS2008

28.07.2007 22:14:39 | Thomas Schissler

Scott Guthrie beschreibt ein paar coole neue Features von Visual Studio 2008 in seinem Blog: 

Nice VS 2008 Code Editing Improvements
JavaScript intellisense
CSS style intellisense

LINQ to SQL

28.07.2007 04:39:55 | Thomas Schissler

Scott Gutherie hat in seinem Blog eine interessante Artikel-Serie zu LINQ to SQL

Data Access Improvements with LINQ to SQL

LINQ to SQL is a built-in OR/M (object relational mapper) in .NET 3.5.  It enables you to model relational databases using a .NET object model.  You can then query the database using LINQ, as well as update/insert/delete data from it.  LINQ to SQL fully supports transactions, views, and stored procedures.  It also provides an easy way to integrate business logic and validation rules into your data model.  Below are some of the articles I've written that explore how to use it:

I'll be adding several more articles to my series above in the weeks ahead.  I think you'll find that LINQ to SQL makes it dramatically easier to build much cleaner data models, and write much cleaner data code.

TableAdapter typisierter DataSets und Transaktionen

26.07.2007 18:05:23 | Thomas Schissler

Hat man ein typisiertes DataSet und arbeitet darin mit mehreren TableAdaptern, dann stellt sich die Frage, wie Updates auf diesen TableAdaptern in eine Transaktion zusammengefasst werden können. Das Problem dabei ist, dass jeder TableAdapter seine eigene Connection nutzt. Es gibt grundsätzlich zwei Lösungsansätze:

  1. Man verwendet den TransactionScope aus dem System.Transactions-Namespace. Diese Vorgehensweise hat allerdings den Nachteil, dass die verschiedenen Connections nur über eine Distributed Transactions verwaltet werden können. Das ist nicht unbedingt das Nonplusultra was die Performance angeht und eigentlich ja auch mit Kanonen auf Spatzen geschossen, da typischerweise alle TableAdapter ja auf die gleiche Datenbank gehen dürften und damit die Ditributed Transactions etwas überkandidelt sind.
  2. Man verwendet eine Connection für alle TableAdpater. Hierzu gibt es glücklicherweise die Möglichkiet, dass man die Connection der Tableadapter austauschen kann. Man kann z.B. einfach die Connection des ersten TableAdapters allen anderen zuweisen und dann auf dieser Connection mit BeginTransaction eine neue Transaktion beginnen und diese dann mit Commit bzw. RollBack abschließen. Alternativ kann man natürlich auch manuell eine Connection erzeugen und diese dann allen TableAdaptern zuweisen.

Eine sehr schöne Beschreibung dieser Lösungsansätze hat John Waters unter folgendem Link veröffentlicht: ADO.NET : Getting TableAdapters to participate in transactions

Unbekannte Identität im TFS

24.07.2007 10:35:46 | Thomas Schissler

Wenn der Team-Explorer behauptet, einen nicht mehr zu kennen und mit folgender Meldung behauptet, man stellt keine bekannte Identität dar,

image

dann kann dieses Problem behoben werden, indem man den Cache des Team-Explorers löscht. Dieser liegt unter Vista im Ordner C:\Users\Thomas\AppData\Local\Microsoft\Team Foundation\1.0\Cache. Hier einfach alle Unterordner löschen und schon klappts wieder mit dem TFS.

ClientID vom ServerControl automatisiert verfügbar machen

22.07.2007 21:04:54 | Rene Drescher-Hackel

Im Rahmen der Webentwicklung steht man immer wieder vor dem Problem, die richtige ClientID nach dem Rendern des HTML zu ermitteln. Der eine (aber unschönste Weg!) ist, über die Quellcodeansicht die zahlreichen ClientIDs zu ermitteln und dann zum Beispiel hartcodiert im Javascript einzufügen.
Ein weiterer Weg ist über die Inlinecodeanweisung <% = ServerControlID.ClientID %> den Wert zu holen. Problemiliatisch ist dieses Vorgehen aber für den Fall, wenn man über eine externe Scriptdatei im Code die Information benötigt. Hier bekommt man dann solche Auskünfte:

alertcontrol

Einen anderen Weg kann man gehen, wenn man auf JSON zurückgreift. Hier erlangt man fast vollständige Flexibilität über seine Clientobjekte.
Zunächst habe ich die Webseite nach allen Controls, die das ID-Attribute gesetzt haben, untersucht.

Gewinnspiel: Tools für WSUS 3.0

20.07.2007 17:33:27 | Thomas Schissler

 

Alle Entwickler haben jetzt die Chance attraktive Sachpreise zu gewinnen.

Marco Hagenschulte, Betreiber von www.wsus.de, hat das Gewinnspiel „Tools für WSUS 3.0“ gestartet. Gesucht wird ein nützliches selbst-entwickeltes Werkzeug für die Windows Server Update Services 3.0 (Add-On, Sidebar Gadget, Scripts, usw.).

 

Zum Gewinnspiel

Microsoft SharedView Beta

18.07.2007 11:38:00 | Thomas Schissler

Habe gerade den ersten Praxis-Test mit Microsoft SharedView absolviert. Das hat auf Anhieb geklappt, echt klasse.

image

Das Tool erlaubt es, dass man eine Session einrichtet und die Teilnehmer der Session untereinander ihre Desktops oder auch nur einzelne Anwendungen freigeben können. Dabei können die anderen entweder nur zuschauen oder auch aktiv eingreifen. Das tolle dabei ist, dass für alle Teilnehmer eine einfache Internet-Verbindung genügt, auch für den Session-Initiator.

Ich wollte gerade einen externen Kollegen bei einer Fehlersuche unterstützen. Am Telefon war das aber kaum zu erklären. Wir haben einfach beide SharedView runtergeladen und installiert. Die Verbindung hat auf Anhieb geklappt, obwohl wir beide hinter einer Firewall sitzen. ich konnte mich auf seinen Desktop schalten und diesen bedienen. Das Ganze ist noch nicht sehr schnell, aber es handelt sich dabei ja noch um eine Beta-Version und hoffentlich wird das Release in Punkto Performance noch etwas zulegen. Das einzige, was am Anfang zu etwas Verwirrung geführt hat, war, dass der Kollege mir zwar die Kontrolle über seinen Desktop übertragen hat, die dann aber immer gleich wieder zurücksprang. Wir haben dann aber schnell rausgefunden, dass die Kontrolle wieder zurückgeht, wenn am Freigabe-Rechner die Maus bewegt wird. Wenn man's weiss, eigentlich gar nicht so schlecht.

Ich fand das Ding echt superklasse und wir konnten den Fehler recht schnell beheben. (Sicher schneller als per Telefon und auch schneller als wenn wir erst den remote desktop auf der Firewall hätten freischalten lassen müssen)

Microsoft SharedView Beta

Tool zum gruppieren von Code-Elementen in Regions

17.07.2007 08:09:00 | Thomas Schissler

Regionerate ist ein kleines Tool mit dem sich automatisch verschiedene Code-Elemente wie Properties, Methoden, Konstruktoren in separate Regions zusammenfassen lassen. Die entsprechenden Codezeilen werden dabei automatisch in bereits existierende Regions verschoben und hier sortiert. Die Regeln für die Gruppierung lassen sich anpassen.

Ein kleiner Screencast zeigt, was das Tool alles kann.

Damit entfällt nun endlich das lästige manuelle Sortieren der Felder und Properties.

Regionerate

Gefunden bei Dani Meier

Termine der .net Developer-Group Ulm

16.07.2007 17:46:34 | Thomas Schissler

Die nächsten Termine der .net Developer-Group Ulm sind:

02.08.2007 - 18:00 Uhr
Thema: LINQ – Language Integrated Query

05.09.2007 - 18:00 Uhr
Thema: Windows Workflow Foundation in ASP.NET

Nähere Details unter www.dotnet-ulm.de

Vortragsreihe zum Thema Team Foundation Server

16.07.2007 17:29:09 | Thomas Schissler

Ich werde in nächster Zeit bei einigen Usergroups unterwegs sein und einen Vortrag zum Thema Team Foundation Server halten. Die Termine sind momentan:

24.07.07   .net Developers Group München

25.09.07   bonn-to-code.net

01.10.07   .Net Usergroup Leipzig

31.10.07   .Net Developers Group Stuttgart

Thema: Team Foundation Server in der Praxis

Mit Team Foundation Server bietet Microsoft zusammen mit Visual Studio Team System ein leistungsfähiges System zur Organisation des gesamten Software Lifecycles. Die Key-Features sind:

  • Verwaltung von Funktionsanforderungen, Aufgaben und Fehlern
  • Quellcode-Verwaltung und Branching-Strategien
  • Buildmanagement
  • Überwachung von Projektmetriken und Reporting

Wie diese Funktionen in der Praxis genutzt werden können und ob dies auch von kleinere Teams sinnvoll eingesetzt werden können, beleuchtet dieser Vortrag. Darüber hinaus werden einige Beispielszenarien aus der Praxis live vorgeführt.

Weitere Termine sind in Vorbereitung. Wer noch Interesse an einem Vortragstermin hat, kann sich gerne an mich wenden.

Vortrag über Visual Studio Extensibility in Braunschweig

11.07.2007 11:38:00 | Roland Weigelt

Nach Leipzig bin ich nun am nächsten Montag, 16.7.2007, in Braunschweig bei der dortigen .NET Developer Group zu Gast. Ab 19:00 halte ich einen Vortrag über Visual Studio Extensibility mit den folgenden Themen:

  • Code Snippets
  • Project/Item Templates und Wizards
  • Makros
  • Add-ins

Ein gewisser Schwerpunkt wird bei den Visual Studio Add-ins liegen, wo ich u.a. auf den einen oder anderen Fallstrick hinweisen werde, über den ich bei der Entwicklung von GhostDoc gestolpert bin.

Die Teilnahme ist kostenlos und ohne vorherige Anmeldung möglich, die Veranstalter freuen sich aber bestimmt über einen kurzen vorherigen Kontakt. Veranstaltungsort ist das Restaurant Flair.

Zur offiziellen Ankündigung

V-Modell XT mit Team Foundation Server

10.07.2007 18:56:36 | Thomas Schissler

Markus Alt hat in seinem Blog einen Link zu einem Whitepaper, das die Umsetzung eines Entwicklungsprozesses nach dem V-Modell XT mit Hilfe des Team Foundation Servers beschreibt. Das Dokument ist als PDF und als MSDN-Artikel verfügbar.

WaitWindow extended

02.07.2007 08:14:16 | Boas Enkler

Auf Wunsch von ein paar .NET Interessierten FoxPro Entwicklern habe ich das WaitWindow so erweitert, dass man es auch auf dem Desktop anzeigen lassen kann.

Zum Anzeigen des WaitWindows auf dem Screen reicht es einfach das ParentControl auf null und eine Position über OffScreenPosition zu setzen .

Hier der SourceCode wie das anzeigen auf dem Screen funktioniert:

//Wait Window auf dem Screen …

this.waitWindow1.ParentControl = null;

 

// … an der Position 10,10 anzeigen

this.waitWindow1.OffScreenPosition = new Point(10, 10);

 

//Zeit die das Waitwindow maximal angezeigt werden darf

this.waitWindow1.Time2Show = TimeSpan.MaxValue;

 

//Einstellen ob das Fenster bei mousebewegungen üebr den Parent verschwinden soll

this.waitWindow1.ClearOnMouseMove = false;

 

//.........................

//Wait window anzeigen

//.........................

this.waitWindow1.ShowWindow("Wait Window Text mit Icon" + Environment.NewLine + "2. Zeile" + Environment.NewLine + "3.Zeile");



BEWaitClass1.zip (28,16 KB)

WPF Forum | ASP.NET Forum | ASP.NET MVC Forum | Silverlight Forum | Windows Phone 7 Forum | SharePoint Forum | Dotnet Jobs | Dotnet Termine | Developer Blogs | Dotnet News

Das Team | Regeln | Impressum