Laden...

Forenbeiträge von Qt21580 Ingesamt 204 Beiträge

11.08.2009 - 12:45 Uhr

Hi, meisteralex

Versuchs mit HitTestInfo....
Sollte auch bei DataGridView funzen.


private void dataGrid1_MouseUp(object sender, MouseEventArgs e)
        {
            if (e.Button == MouseButtons.Right)
            {
                DataGrid.HitTestInfo info = this.dataGrid1.HitTest(e.X, e.Y);
                MessageBox.Show(info.Type.ToString());
            }
        }

mfg.

30.06.2009 - 00:46 Uhr

Hi juetho,

Hauptsächlich handelt mein Problem in diesem Thread über die Relation im DataSet. Ich habe mir deinen verlinkten Thread angesehen, aber das ist nicht das was ich suche. Es kann doch nicht sein das man mit C# in einem DataSet nicht die Möglichkeit hat eine Relation folgendermassen darzustellen oder ???

Wenn ich z.B.: eine Rechnungstabelle habe in der nur die ID zu einem Artikel gespeichert ist und ich den Namen des Artikels diesen in einem Grid anzeigen möchte das das in einem Textfeld nicht möglich ist.

Da muß es doch eine Möglichkeit geben??????????????

Weiß den keiner einen vernünftigen Weg.

24.06.2009 - 16:37 Uhr

verwendetes Datenbanksystem: ACCESS

Hi Leute,

ich habe ein ziemlich lästiges Problem mit einem DataSet mit einer Relation.

Folgende Beispiel Tabellen
EMPLOYEE 😗EMPLOYEEID *XNAME

LOGBOOK*EMPLOYEEID *TEXT

Jetzt zu meinem Problem...
Ich möchte jetzt in einem DataGridView die Daten aus dem LOGBOOK anzeigen das funktioniert ja noch doch jetzt will ich anstatt der ID den Namen des Kunden in der Spalte EMPLOYEEID angezeigt bekommen.

zb.: so...
DataGridViewSpalte["EMPLOYEEID"].DataPropertyName = "EMPLOYEE.XNAME";
DataGridViewSpalte["TEXT"].DataPropertyName = "LOGBOOK.TEXT";

Wie bekomme ich das hin.

Hier noch Beispiel Code


DataSet dsPARTENCHILD = null;
        DataTable myTable1 = null;
        DataTable myTable2 = null;

        public Form1()
        {
            InitializeComponent();
        }

        private void Form1_Load(object sender, EventArgs e)
        {
            dsPARTENCHILD = new DataSet();
            myTable1 = new DataTable("EMPLOYEE");
            myTable2 = new DataTable("LOGBOOK");
            dsPARTENCHILD.Tables.Add(myTable1);
            dsPARTENCHILD.Tables.Add(myTable2);

            DataColumn empEmployeID = new DataColumn("EMPLOYEEID");
            DataColumn empEmployeNAME = new DataColumn("XNAME");
            DataColumn logEmployeID = new DataColumn("EMPLOYEEID");
            DataColumn logEmployeTEXT = new DataColumn("TEXT");
            myTable1.Columns.Add(empEmployeID);
            myTable1.Columns.Add(empEmployeNAME);
            myTable2.Columns.Add(logEmployeID);
            myTable2.Columns.Add(logEmployeTEXT);

            FillData();

            empEmployeID = dsPARTENCHILD.Tables["EMPLOYEE"].Columns["EMPLOYEEID"];
            logEmployeID = dsPARTENCHILD.Tables["LOGBOOK"].Columns["EMPLOYEEID"];
            DataRelation myDRel = new
                DataRelation("myFirsRelation", empEmployeID, logEmployeID);
            dsPARTENCHILD.Relations.Add(myDRel);

            //dgvKrypton.DataSource = dsPARTENCHILD.Tables["EMPLOYEE"];
            //dgvKrypton.DataMember = "myFirsRelation";

            dgvMS.DataSource = dsPARTENCHILD.Tables["EMPLOYEE"];
            dgvMS.DataMember = "myFirsRelation";
        }

        void FillData()
        {
            DataRow row1 = myTable1.NewRow();
            row1["EMPLOYEEID"] = 1;
            row1["XNAME"] = "Max";
            myTable1.Rows.Add(row1);

            row1 = myTable1.NewRow();
            row1["EMPLOYEEID"] = 2;
            row1["XNAME"] = "Susi";
            myTable1.Rows.Add(row1);

            DataRow row2 = myTable2.NewRow();
            row2["EMPLOYEEID"] = 2;
            row2["TEXT"] = "Das ist ein Test";
            myTable2.Rows.Add(row2);
        }

Habe schon so ziemlich alle Möglichkeiten mit DataSource und DataMember ausprobiert hat aber leider nichts geholfen.

Vielleicht könnt Ihr mir weiterhelfen.

21.06.2009 - 19:40 Uhr

Hallo borlaenge,

Versuchs für den Anfang mit den dafür vorgesehenen Komponenten von VS,
sprich DataAdapter, DataSet usw...

Mit dem DataAdapter kannst du zb.: mit adapter.Update() deine Änderngen
in die DB schreiben.

Mfg.:

15.06.2009 - 10:09 Uhr

Weiß den hier keiner woran dieser Fehler liegen kann.

Fehlt mir vielleicht ein SP von VisualStudio????????????????

14.06.2009 - 16:13 Uhr

Hi Leute,

Ich habe mir das Setup Paket von Telerik(RadControls) geladen und installiert.
Wenn ich die Demos ansehen möchte bekomme ich folgenden Fehler ->
Method not found: 'Void System.Windows.Media.Animation.Storyboard.Begin()' usw...

Woran kann das liegen

Ich habe VS2008 Express installiert

Bin für jede Hilfe dankbar.

21.04.2009 - 00:54 Uhr

Hi Leute,

Ich möchte mit dem SD Kern eine eigene Anwendung basteln, das funktioniert auch schon ganz gut mit den AddIn's.

Jetzt schwebt mir folgendes Szenario vor....
Ich möchte mir ein Addin bauen die das Speichern in eine Datenbank übernimmt,
aber dabei den modularen Aufbau nicht verlieren.
also zb.: könnten das folgende AddIn's werden...*SaveOffline *SaveOnline(WebService) *SaveRemoting

Ich habe also einen Container(Workbench) in den lade und zeige ich meine Module an. Ich habe zb.: ein AddIn Kunden, Angebote usw...
Ich möchte jetzt meine Kundendaten speichern anhand des oder der installierten AddIn's.

Weiß von euch jemand wie so eine Klasse aussehen könnte an die ich meine Daten übergebe die sich dann um den Rest kümmert.

Ich habe mir den WebService von AdventureWorks von MS angesehen, die arbeiten dort mit Objekten die auf einem XML Shema basieren.

Hoffe das ich mein Anliegen einigermaßen bechreiben konnte.
Stehe hier total auf dem Schlauch was den Aufbau betrifft.

Bin für jeden Denkanstoß dankbar.

12.04.2009 - 21:05 Uhr

Wie wärs mit ICSharpCode.Core siehe SharpDevelop

29.03.2009 - 18:44 Uhr

Danke erstmal für die Antworten

Werde mir den Beitrag auf DotNetPro mal ansehen wenn die Seite wieder Online ist.

29.03.2009 - 13:34 Uhr

Hallo Golo Roden

Die DotNetPro habe ich leider nicht und das Probrabo habe ich schon mal gehabt.
Weist du sonst keinen vernünftigen Link zu diesem Thema oder vielleicht weiss
simonknight6600 ein Nachschlagewerk.

28.03.2009 - 23:56 Uhr

Hi Leute,

Ich hoffe es gibt hier jemanden der sich mit dem SharpDevelop Kern
auskennt.

Ich habe mir das was es im INet gibt (glaube ich zumindest) durchgelesen.
Die Doku für den SharpDevelop Kern ist ziemlich dürftig.

Möchte folgenes AddIn basteln: Externer ToolManager wie der in VS
Der funktioniert auch nur habe ich ein Problem mit der Darstellung
der Menüpunkte im Workbench. Die muss ich zur Laufzeit erstellen,
also beim Laden des Addins(ToolManager) muss ich die Einträge im Menü hinzufügen und auch nachdem man einen Eintrag in einem Dialog vorgenommen hat muss ich das Menü aktualisieren, diese sind in einer XML Datei gespeichert. Ich kann also das nicht
in der addin Datei speichern sondern muss diese per Code erstellen,
nur leider funktioniert das überhaupt gar nicht.

vlt. kennt jemand ein paar gute links zum Thema Addins mit SharpDevelop erstellen

Hoffe es findet sich jemand der mir helfen kann.

21.03.2009 - 09:24 Uhr

Hallo skunkiii,

Ich mal schnell so versucht....


private void pictureBox1_MouseUp(object sender, MouseEventArgs e)
        {
            Graphics g = this.pictureBox1.CreateGraphics();
            Bitmap bmp = new Bitmap(this.pictureBox1.Image, this.pictureBox1.Width, this.pictureBox1.Height);
            Graphics g1 = Graphics.FromImage(bmp);
            Pen p = new Pen(Color.Red, 5);
            g.DrawEllipse(p, e.X, e.Y, 5, 5);
            g1.DrawEllipse(p, e.X, e.Y, 5, 5);
            g.Dispose();
            g1.Dispose();

            bmp.Save("C:\\img.jpg");
        }

das funkt....

bzw.: sie bei Codeproject nach.

21.03.2009 - 08:55 Uhr

Hallo DaHoff,

Mach dir doch einfach für jeden Content ein UserControl, da kannst du dur deine Steuerelemente im Designer platzieren.

Im TreeView hinterlegst du ein ClickEvent und je nach dem welcher Node angecklickt wurde lädst du dein Control in deinen Container.

Mfg.:

26.02.2009 - 15:16 Uhr

Hallo BennyP

Ich hab das Beispiel von dir propiert, der Server mekert zwar nicht aber
trotzdem werde ich nicht schlau draus.

Wenn ich das richtig verstanden habe dann rufe ich die Procedure mit
CALL proctest('test') auf dann wird der Wert der Tabelle in die Variable geschrieben oder wie??????????????????

ich habe jetzt ein Bsp von der MySQL Seite kopiert und es bei mir versucht zu speichern.
Wie immer ohne Erfolg.

CREATE PROCEDURE procedure1(IN parameter1 INTEGER)

BEGIN /* <-das funkt überhaupt nicht*/

DECLARE variable1 CHAR(10);
IF parameter1 = 17 THEN
SET variable1 = 'birds';
ELSE
SET variable1 = 'beasts';
END IF;

END /* <-das funkt überhaupt nicht*/

Ohne BEGIN und END bekomme ich folgenden Fehler:

SQL-Befehl:

CREATE PROCEDURE procedure1( IN parameter1 INTEGER ) DECLARE variable1 CHAR( 10 )

MySQL meldet:
#1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'DECLARE variable1 CHAR(10)' at line 2

Wieso ist das blos soooo kompliziert??????????????????

25.02.2009 - 08:52 Uhr

Danke für die Antwort, das werd ich gleich mal versuchen.

24.02.2009 - 19:32 Uhr

verwendetes Datenbanksystem: <MySQL>

Hi Leute...

Ich versuche gerade verzweifelt in einer MySQL Datenbank eine Stored Procedure
zu speichern und auszuführen.

Ich habe mir eine Beschreibung von MySQL runtergeladen.
Wenn ich aber die Beispiele ausprobieren möchte funktionieren die bei mir nicht.

Hier ein kleiner Auszug

CREATE PROCEDURE p1 ()
BEGIN
SELECT s1 FROM t;
END;

Fehlermeldung:
SQL-Befehl:
CREATE PROCEDURE p1( ) BEGIN SELECT s1
FROM t

MySQL meldet:
#1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '' at line 3

So funktionierts nur leider bekomme ich hier keine Daten zurück wenn ich die Procedure ausführe mit <CALL p1();>
CREATE PROCEDURE p1 () SELECT s1 FROM t;

Vielleicht kann mir von euch jemand helfen.
Danke

16.02.2009 - 09:04 Uhr

Hi Stipo

Sieh dir mal das an DataBound TreeView

22.11.2008 - 20:49 Uhr

Vielleich hilft die StreamReader weiter.

Siehe MSDN

22.11.2008 - 20:44 Uhr

Danke für die Antworten

Die zugangsdaten habe ich.
Ich kann aber nicht einfach die IP in den Connectionstring schreiben, weil ich
(Also so denke ich mir das) ich Zugangsdaten für den Server brauche und dann
noch Zugangsdaten für die DB.

Aber wenn ich das bei 1und1 sowieso vergessen kann dann habe ich noch eine
Frage an manunidi

Zu punkt 1)
Kannst du mir einen kleinen Tipp für die Möglichkeit mit php geben????

Zu punkt 2)
Habe zwar schon einmal einen kleinen Webservice geschrieben,
im Moment fehlt mir da jedoch der Ansatz für das implementieren des WS.

Vielleicht habt ihr eine kleine Starthilfe für mich oder Link für einen WS
mit dem man soetwas machen kann.

22.11.2008 - 00:09 Uhr

verwendetes Datenbanksystem: mysql

Hi Leute

hat von euch jemand eine Ahnung wie man auf einem Webserver installierte DB
in einem C# Windows Programm nutzen kann.

Die DB liegt bei 1und1......

Bitte um Hilfestellung

PS.: Googeln hat auch nicht wirklich was gebracht

Danke

22.08.2008 - 09:56 Uhr

Danke Rainbird,

jetzt funkt's

21.08.2008 - 14:49 Uhr

Das mit dem Service in der app.config stimmte,
habe diese Zeile vergessen aber dafür bekomme ich jetzt eine neue FileNotFoundException?????????????

Auschnitt aus der config datei
<service>
<!-- Geschäftsdienst "Userverwaltung" -->
<wellknown mode="SingleCall" type="EBMS.Users.Services.UserService, EBMS.Users.Services" objectUri="EBMS.Users.Contracts.IUserService" />
<!-- Geschäftsdienst "Artikelstammverwaltung" -->
<!--wellknown mode="SingleCall" type="Rainbird.Examples.NTier.ArticleMaster.Services.ArticleMasterService, Rainbird.Examples.NTier.ArticleMaster.Services" objectUri="Rainbird.Examples.NTier.ArticleMaster.Contracts.IArticleMasterService" /-->
<!-- Geschäftsdienst "Lagermverwaltung" -->
<!--wellknown mode="SingleCall" type="Rainbird.Examples.NTier.Inventory.Services.InventoryService, Rainbird.Examples.NTier.Inventory.Services" objectUri="Rainbird.Examples.NTier.Inventory.Contracts.IInventoryService" /-->
</service>

20.08.2008 - 10:22 Uhr

Hi Leute,

ich möchte hier diesen Thread nocheinmal aufrollen.
Habe mir den Applicationsserver angesehen und mal ein bisschen rumprobiert.
Zuerst habe ich diesen nicht einmal zum laufen gebracht, das hat sich jetzt erledigt.
Warum auch immer????????????

aber egal was ich jetzt mach, ich bekomme immer eine Fehlermeldung die wie
folgt aussieht -> siehe Anhang
Vielleicht kann mir das jemand erklären oder weiterhelfen.

Danke im voraus

11.08.2008 - 20:03 Uhr

Hallo Lina

Versuchs mal hier oder auf codeproject

04.08.2008 - 17:40 Uhr

Hi Dragonheartness
Vielleicht hilft dir das weiter


/// <summary>
        /// Datei mit den Serveranfragen speichern.
        /// </summary>
        private void Save()
        {
            Application.DoEvents();
            DeleteMajorFile();
            string directory = String.IsNullOrEmpty (RemotingServer.Properties.Settings.Default.DefaultDocPath) ? GetEnvironmentVariable : RemotingServer.Properties.Settings.Default.DefaultDocPath;
            string document = Path.Combine(directory, GetFileName);

            using (TextWriter writer = new StreamWriter(document))
            {
                writer.WriteLine(String.Format("Server gestarted am {0}", DateTime.Now));
                writer.WriteLine(Environment.NewLine);

                StringReader reader = new StringReader(txtFromClient.Text);
                string input = null;
                while ((input = reader.ReadLine()) != null)
                {
                    writer.Flush();
                    writer.WriteLine(input);
                }

                writer.WriteLine(Environment.NewLine);
                writer.WriteLine ("************************Userliste************************");
                writer.WriteLine(Environment.NewLine);

                foreach (ListViewItem lvItem in listViewUserChanges.Items)
                {
                    string row = String.Format("Username: {0} | Logon: {1} | Logout: {2}", lvItem.SubItems[0].Text, lvItem.SubItems [1].Text, lvItem.SubItems[1].Text);
                    writer.Flush();
                    writer.WriteLine(row);
                }

                reader.Close();
                writer.Close();
            }
        }

/// <summary>
        /// Löschen der älteren Datei aus dem Ordner
        /// </summary>
        private void DeleteMajorFile()
        {
            string directory = String.IsNullOrEmpty (RemotingServer.Properties.Settings.Default.DefaultDocPath) ? GetEnvironmentVariable : RemotingServer.Properties.Settings.Default.DefaultDocPath;
            DirectoryInfo dInfo = new DirectoryInfo(directory);
            FileInfo[] result = dInfo.GetFiles("Serveranfragen*");

            if (result.Length >= RemotingServer.Properties.Settings.Default.MaxAnzDocs)
            {
                //Sortieren
                Array.Sort(result, new FileSorter());
                //Die Ältere Datei löschen
                result[0].Delete();
            }
        }

/// <summary>
        /// Namen für die Datei zusammenstellen.
        /// </summary>
        private string GetFileName
        {
            get
            {
                string documentName = String.Format("Serveranfragen_{0:ddMM_yyy_HH_mm}.txt", DateTime.Now);
                return documentName;
            }
        }

01.07.2008 - 15:20 Uhr

Hi xxxprod

Habe diese Methode getestet leider ohne Erfolg.
Wenn ich als fileName "MSAccess.exe" übergebe bekomme ich ein leeres Array zurück.

Woran kann das liegen.

01.07.2008 - 11:07 Uhr

Hallo zusammen

Ich habe mir alle Antworten angesehen und gegoooogelt, aber leider bin ich nicht wirklich daraus schlau geworden.

Die Antwort von egrath: Das funktioniert nur mit einem laufenden Prozess den ich nicht habe genau wie bei Xqgene.

Bei trib: Was wenn ich Office 2007 installiert habe dann ist die Endung nicht mdb sondern acmdb oder so ähnlich???????????

Vielleicht kannst du mir egrath ein kleines Besispiel geben wie ich ohne laufenden Prozess den vollen namen(Pfad) der App ermitteln kann.

Danke im voraus

01.07.2008 - 01:04 Uhr

Hi Leute

Habe da mal eine Frage zur ProcessStartInfo Klasse.

Folgender Beispielcode


System.Diagnostics.ProcessStartInfo psi = new System.Diagnostics.ProcessStartInfo("MSAccess.exe");

Gibt es eine Möglichkeit den vollen Pfad zum Access so zu ermitteln.
Also mit Process.Start(psi) wird zwar Access getarted aber was ich brauche ist der volle Pfad zu Access also C:\Programme\Office....\MSAccess.exe, der Pfad der in der Regedit steht.

Wie komm ich da ran.

Danke für eure Hilfe.

29.06.2008 - 11:06 Uhr

Hi WhiteBandit

Ich weiß nicht ob dir das weiterhilft...

DeineTabelle.Select();

Mit dieser Methode wird dir einDataRowArray zurückgeliefert.
Du kannst hier auch nach Daten in deiner Tabelle filtern.

mfg.

31.01.2008 - 10:49 Uhr

Danke Khalid das funkt.

30.01.2008 - 14:11 Uhr

Hi Leut

habe eine Frage bezüglich Process.Start(Dateiname).

Weiss jemand von euch wie man den Öffnen mit Dialog (für eine unbekannte anwendung) bekommt.


try
{
    if (File.Exists(Datei))
    {
            // Zu dieser Datei gibt es kein bekanntes Programm
            Process.Start(Datei);
     }
}
catch
{
      ?????????????
}

Bitte um Hilfe

06.01.2008 - 21:12 Uhr

Das speichern funktioniert ja, aber das lesen nicht.
Ich weiß nicht wo die Daten gespeichert werden, in der App.config jedenfalss nicht.

06.01.2008 - 20:04 Uhr

Hallo alle zusammen

Ich habe eine Frage zur ApplicationSettings in 2.0.
Habe schon eine ganze Weile im Forum gesucht und gegoogelt, aber leider
nicht das passende gefunden.

Ich möchte mir Werte in der App.config Datei speichern.
Das funktioniert ja auch.

Mein Problem ist jetzt das auslesen dieser Datei.
Wenn ich in meine Settings Datei im VS einen Wert anlege wird dieser in die
App.config Datei geschrieben mit einem Standardwert.

Wenn ich aber nun zur Laufzeit einen Wert ändere und speicher funktioniert das zwar, der Wert in der App.config bleibt aber immer der selbe Standardwert aber
angezeigt bekomme ich den geänderten Wert. Wie bekomme ich den aktuellen Wert
mit dem ConfigurationManager. Mit dem bekomme ich immer nur den Standardwert.

Ich brauche diese Config Datei in einer anderen dll die zum Projekt gehört, alse
muß ich mit dem ConfigurationManager arbeiten oder gibt es da eine andere
Möglichkeit.

Danke im Voraus.

20.12.2007 - 12:00 Uhr

aber ich möchte mir eben das wissen über die methodik aneignen

Du kanns't dir da den Code ansehen (OpenSource).

20.12.2007 - 11:54 Uhr

Warum das Rad neu erfinden

Codeproject...
AutomatingUndoRedo

oder

autoundoredo

10.12.2007 - 19:29 Uhr

Hallo herbivore

Also wenn ich so oder so casten muß dann kann ich mir die Basisklasse eigentlich sparen, oder????

mfg.:

10.12.2007 - 18:47 Uhr

Tschuldige erstmal für die paar Fehler (War ja auch nur schematisch gemeint)

Ausgebessert:


    public abstract class AbstracteBasisKlasse
    {
        public abstract event EventHandler Loaded;
        public abstract event EventHandler ListLoaded;

        public virtual DataTable GetEmptyTable
        {
            get
            {
                return new DataTable("Shema");
            }
        }
    }

    public class CustomerModel : AbstracteBasisKlasse
    {
        public override event EventHandler Loaded;
        public override event EventHandler ListLoaded;

        public override DataTable GetEmptyTable
        {
            get
            {
                return new DataTable("Shema für Customers");
            }
        }

        public DataSet Rechnungen()
        {
            //.
            //..
            //... Was auch immer
            return new DataSet("Rechnungen");
        }
    }

    public class SupplierModel : AbstracteBasisKlasse
    {
        public override event EventHandler Loaded;
        public override event EventHandler ListLoaded;

        public override DataTable GetEmptyTable
        {
            get
            {
                return new DataTable("Shema für Supliers");
            }
        }

        public DataSet Orders()
        {
            //.
            //..
            //... Was auch immer
            return new DataSet("Orders");
        }
    }

    public class TestClass
    {
        AbstracteBasisKlasse AbstrakteKlasse = new SupplierModel();

        public TestClass()
        {
            DataTable dt = AbstrakteKlasse.GetEmptyTable;

            //Bis auf das funktionierts ja auch
            //Bei sagt der Compiler immer "WindowsApplication1.AbstracteBasisKlasse enthält keine Definition für "Orders".
            //Was ja auch stimmt weil in der Basisklasse ja kein Dataset Orders ist, nur wie komme ich über die Basisklasse an das DataSet ran.
            DataSet ds = AbstrakteKlasse.Orders();
        }
    }

mfg.:

10.12.2007 - 17:53 Uhr

Hi

Ich hätte mal eine Frage zu abstrakten Klassen

Habe mir das Beispiel von Rainbird angesehen (MVC).
Ich möchte jetzt folgendes realisieren

Ich habe eine Abstrakte Basisklasse die besitzt Standardmethoden,
Eigenschaften und Events.
zb.: event Loaded, void GetEmptyTable()....

Jetzt möchte ich eine ModelKlasse schreiben (zb.: SupplierModel).
Dieses Model erbt von meiner Basisklasse, in diese Modelklasse kommen jetzt aber noch einige spezielle Methoden die den Lieferanten betreffen.

Wie kann ich jetzt eine (Instanz) meiner Basisklasse erstellen dessen Methoden usw nutzen und aber auch die speziellen Methoden des SupplierModels nutzen.

Grund für dieses Vorhaben ist es das wenn ich alles in >>eine<< Modelklasse packe die schon ziemlich unübersichtlich werden kann.

Zur Veranschaulichung:


public abstract class AbstracteBasisKlasse
    {
        public abstract event Loaded;
        public abstract event ListLoded;
        usw...
        public abstract DataTable GetEmptyTable()
        {
            return new DataTable("Shema");
        }
    }

public class SupplierModel : AbstracteBasisKlasse
    {
        public override DataTable GetEmptyTable()
        {
            return new DataTable("Suppliers");
        }

         public DataSet Orders()
        {
             return OrderDataSet;
        }
    }

public class TestClass
    {
        AbstracteBasisKlasse c1 = new CustomerModel();

        public TestClass()
        {
             DataTable dt = c1.GetEmptyTable();

             //Das hier möchte ich gerne nur funktioniert das nicht wie ich will.
             DataSet ds = c1.Orders;??????????????
        }
    }

Rainbird mach das in seinem Beispiel noch mit einem Interface (IView), wo das Model an die Views übergeben wird. (habe ich hier darauf verzichtet)


public interface IView
{
    Model _Model{ set; }
}

Ich weiß nicht ob und wie ich das machen soll. Vielleicht gehts es auch gar nicht und ich bin auf dem Holzweg oder aber ich brauche nur einen Denkanstoss.

Hoffe ich habe es so einigermassen erklären können.
Bin für jeden Vorschlag dankbar.

24.11.2007 - 21:25 Uhr

Jetzt habe ich da schon das nächste Problem

Ich möchte das Dreieck mit einem Mausklick auf die Zelle zeichnen.
Wie bekomme ich denn die Position der Zelle (Rechteck) heraus, das ich
ja zum zeichnen brauche.


//Mit dem krieg ich zwar ein Recteck aber die X, Y Koordinaten sind 0 oder nur minimal drüber.
this.dgKalender.CurrentCell.ContentBounds

Wie kann ich das am besten lösen wenn ich zb. in der 15 Spalte und der 10 Zeile
auf die Zelle klicke daß ich die korrekte Position der Zelle bekomme.

24.11.2007 - 19:47 Uhr

Danke Noodles das funktioniert wunderbar.

24.11.2007 - 14:41 Uhr

Hi Leute

hätte da mal eine Frage zum selber zeichnen von Zellen in einem DatagridView

Ich möchte folgendes Realisieren und zwar will ich wie bei MS Excel ein Dreieck
in eine bestimmte Zelle bekommen (Notiz markierung zur Zelle).

Habe jetzt folgendes geschrieben nur leider kann ich mir das Ergebnis nicht erklären.


        int _triangle = 2;
        private void DrawNoteTriangle(DataGridViewCellPaintingEventArgs e)
        {
            
            Rectangle newRect = new Rectangle(e.CellBounds.X + 15,
                 e.CellBounds.Y + 10, e.CellBounds.Width - 6,
                 e.CellBounds.Height - 6);

            using (Brush gridBrush = new SolidBrush(this.dgKalender.GridColor),
                backColorBrush = new SolidBrush(Color.Beige))
            {
                using (Pen gridLinePen = new Pen(gridBrush))
                {
                    // Erase the cell.
                    e.Graphics.FillRectangle(backColorBrush, e.CellBounds);

                    //raw the grid lines (only the right and bottom lines;
                    //DataGridView takes care of the others).
                    e.Graphics.DrawLine(gridLinePen, e.CellBounds.Left,
                        e.CellBounds.Bottom - 1, e.CellBounds.Right - 1,
                        e.CellBounds.Bottom - 1);
                    e.Graphics.DrawLine(gridLinePen, e.CellBounds.Right - 1,
                        e.CellBounds.Top, e.CellBounds.Right - 1,
                        e.CellBounds.Bottom);



                    // Draw the inset highlight box.
                    e.Graphics.DrawRectangle(Pens.Blue, newRect);

                     //Das funkt nicht
            tringleright[0] = new Point(newRect.Width - 1, newRect.Height - 1);
            tringleright[1] = new Point(newRect.Width - _triangle - 1, newRect.Height - 1);
            tringleright[2] = new Point(newRect.Width - 1, newRect.Height - _triangle - 1);
            tringleright[3] = new Point(newRect.Width - 1, newRect.Height - 1);

            e.Graphics.FillPolygon(new SolidBrush(Color.Red), tringleright);
            e.Graphics.DrawPolygon(new Pen(Color.Yellow), tringleright);



                    //Draw the text content of the cell, ignoring alignment.
                    if (e.Value != null)
                    {
                        e.CellStyle.Alignment = DataGridViewContentAlignment.MiddleCenter;
                        e.Graphics.DrawString((String)e.Value, e.CellStyle.Font,
                            Brushes.Crimson, e.CellBounds.X + 2,
                            e.CellBounds.Y + 2, StringFormat.GenericDefault);
                    }

                   
                }
            }
        }

Mit dem Code von Oben wird mir das Rechteck in die Zelle gezeichnet aber
das Dreieck was ich eigentlich haben will wird nicht gezeichnet oder
zumindest kann ich es nicht sehen.

Wenn ich das ganze zb.: mit einem Panel mache (beim Zeichen)
wird das Dreieck in die rechte untere Ecke gezeichnet.
Kann mir da jenmand weiterhelfen.

05.11.2007 - 09:35 Uhr

SELECT COUNT(*) FROM Tabelle1

05.11.2007 - 09:34 Uhr

Hallo Stu42

Vielleicht genügt dir ein Regex in der Art


Regex regex = new System.Text.RegularExpressions.Regex("([\\,]+)", RegexOptions.Compiled);
string s= regex.Replace(s, ".");

Das ersetzt ein Komma mit einem Punkt.

05.11.2007 - 09:27 Uhr

Hi Rainbird

Danke für die Antwort.

04.11.2007 - 22:36 Uhr

Hi Leute

Ich weiß das das Thema MVC hier schon sehr oft behandelt wurde.

Ich habe aber dennoch eine Frage zu dem MVC Muster von Rainbird.
Habe mir sein Beispiel angesehen und muss sagen dass es wirklich sehr gut ist.
Da ich aber mit MVC noch an Erfahrung sammle habe ich eine Frage bezüglich
einer Datenanbindung. In dem Beispiel von Rainbird werden die Daten immer nur von einer Tabelle ausgelesen. Wie aber mache ich so etwas wie zb.: eine
Kundentabelle und in dieser Tabelle ist der Schlüssel einer Gruppe definiert.
Wie kann ich mit diesem Model zb.: in einer ComboBox den ValueMember (1) speichern und den DisplayMember ("Lieferant") anzeigen.

MVC Beispiel von Rainbird

Hoffe habe meine Frage einigermassen formuliert.

21.10.2007 - 11:22 Uhr

Hi Spritking

Mit .Net 2.0


bool isLeapYear = DateTime.IsLeapYear(2028);

Mfg.:

08.10.2007 - 11:00 Uhr

Sie dir das mal an ist vom Codeproject.
Vielleicht ist es ja das was du suchst.

Items hinzufügen


		private ImageList _smallImageList = new ImageList();
		private ImageList _largeImageList = new ImageList();
		private IconListManager _iconListManager;

if(File.Exists(PathDoc))
					this.lvDokumente.Items.Add( sFileName, _iconListManager.AddFileIcon( PathDoc ) );

Zeichnet das zugehörige Icon zur Datei.

08.10.2007 - 10:47 Uhr

Danke für die Erklärung.

06.10.2007 - 20:54 Uhr

Ich habe ja auch nicht gemeint das es mir die DB-Abfragen erleichtern soll sondern ich meinte nur das beim Beispiel von MS (BankTeller) die Save Funktion eine Funktion im WorkItem ist. (Wie kann ich zb.: eine eigene SaveMethode schreiben),
damit ich die Daten in die Db bekomme.

Ich nabe VS 2005 Standard Edition installiert. (Geht aber trotzdem nicht)

Mein Vorhaben ist es eine modulare Anwendung zu programmieren und dazu eignet sich doch CAB eigentlich hervorragend oder nicht?????????

06.10.2007 - 20:12 Uhr

Hi Leute

Habe mir von MS Composite UI Application Block gezogen weil es sich interessant anhört.
Ich habe mir Hands on Labs angeguckt und auch den BankTeller aber irgendwie werde ich aus dem ganzen nicht schlau???????????????

Im Beispiel BankTeller werden die Daten aus einem Stream geladen und auch geschrieben (glaube ich jedenfalls).

  1. Wie aber kann ich zum Bsp.: CAB benutzen und meine Daten aus einer DB ziehen und schreiben?????????????????

  2. Habe mir auch noch Smart_Client_Software_Factory gezogen und installiert doch bei mir funkt das nicht so wie es eigentlich sein sollte. (Beim anlegen eines neuen Projektes habe ich keine neuen Vorlagen dazu bekommen um zb. ein CAB Projekt zu erstellen). Wieso nicht ????????

Vielleicht kann mir jemand dazu etwas erklären.

Danke