Willkommen auf myCSharp.de! Anmelden | kostenlos registrieren
 | Suche | FAQ

Hauptmenü
myCSharp.de
» Startseite
» Forum
» Suche
» Regeln
» Wie poste ich richtig?

Mitglieder
» Liste / Suche
» Wer ist online?

Ressourcen
» FAQ
» Artikel
» C#-Snippets
» Jobbörse
» Microsoft Docs

Team
» Kontakt
» Cookies
» Spenden
» Datenschutz
» Impressum

  • »
  • Portal
  • |
  • Mitglieder
Beiträge von myBig?
Thema: Zwei Scrollbars synchronisch
Am im Forum: GUI: Windows-Forms

Hi herbivore,

habe jetzt was passendes gefunden. Habe vielleicht immer nur die falschen Suchbegriffe eingegeben. Dieser Link hat mir auf jeden Fall geholfen.

2 DataGridView Scrollbar Synchron

MfG

Thema: Zwei Scrollbars synchronisch
Am im Forum: GUI: Windows-Forms

Hi zusammen,

ich würde gerne meine beiden Scollbars im DataGridView synchronisch bewegen, also wenn ich den einen bewege, dann geht der zweite ebenfalls mit und umgekehrt auch. Leider habe ich nichts passendes gefunden.

Hat jemand ein Tipp für mich?

MfG

Thema: Flacker Problem
Am im Forum: Grafik und Sound

Hi herbivore,

dann werde ich mich wohl mal mit override beschäftigen, damit habe ich noch gar nicht gearbeitet. Du hast nicht zufällig eine gute Seite, wo ich was drüber lesen und durcharbeiten kann?

MfG

Thema: Flacker Problem
Am im Forum: Grafik und Sound

Hi herbivore,

darüber habe ich schon was gelesen und auch versucht leider funktionierte es nicht. Habe es an verschiedene Stellen versucht einzusetzen, leider ohne Erfolg.

Muss es dann da rein wo ich zeichne oder in _scroll?

Leider weiß ich nicht wo es genau hinkommt, habe es am Anfang und am Ende und mittendrinn versucht leider alles ohne Erfolg, das Flackern blieb.

MfG

Thema: Flacker Problem
Am im Forum: Grafik und Sound

Hi Zusammen,

ich zeichne in einer DataGridview eine bzw mehrere Lininen für jede Zeile. Wenn ich scrolle dann flackert es ungemein. Gibts da eine Möglichkeit es zu unterbinden?

Habe es hiermit versucht, leider klappt es nicht ganz so gut:


private void dataGridView1_Scroll(object sender, ScrollEventArgs e)
{
            dataGridView1.Invalidate();
}

Wäre super wenn mir da einer einen Tipp geben kann.

MfG

Thema: Probleme beim Zeichnen
Am im Forum: Grafik und Sound

Hallo herbivore,

ich glaube ich habe mich schon zu doll verrannt ?(

das ist richtig ich will nur in den Sichtbaren Zellen zeichnen. Aber die Linie die ich zeichne sollte schon Wagerecht angezeigt werden auch wenn der Endpunkt ausserhalb des Sichtbereiches ist.

Ich habe also ein Anfangspunkt der ermittelt werden kann, da er ja aufm Bildschirm sichtbar ist, dann habe ich ein Endpunkt der nicht Sichtbar ist, daher bekomme ich auch .X = 0 und .Y = 0. Das ist ja auch logisch, da er mir die Koordinaten nicht ermitteln kann, da sie nicht aufm Bildschirm sind.

Wie stelle ich es denn an, dass er mir die Linie bis zum ende der Sichtbaren Zelle zeichnet und sobald ich Scrolle für jede weitere Zelle bis zum Endpunkt?

Ich glaub so langsam must du mich für völlig blöd halten, innerlich hoffe ich nicht

MfG

Thema: Probleme beim Zeichnen
Am im Forum: Grafik und Sound

Hi herbivore,

jupps ich will nur in den Zellen zeichnen. Das stimmt, dass mich nur die Sichtbaren interessieren.

Blöde frage ich weiß, aber wie stelle ich es denn an wenn die Punkte also der Startpunkt und der Endpunkt oder nur einer davon nicht Sichtbar ist.

Es müsste doch machbar sein ein Zeitstrahl zwischen einem Anfangsdatum und einen Enddatum zu zeichnen.

Komme da einfach nicht weiter,wäre echt super wenn du mir da auf die Sprünge helfen könntest.

MfG

Thema: Probleme beim Zeichnen
Am im Forum: Grafik und Sound

Guten Morgen herbivore,

das denke ich leider auch. Habe es mal getestet, sobald die Columns im Sichfeld sind, dann zeichnet er wieder so wie es sein soll. Hast du vielleicht ein Tip für mich, wie ich es anders machen kann? Oder muss ich vielleicht in der _CellPainting zeichnen? Die erste zeichne ich nämlich in _Paint.

MfG

Thema: Probleme beim Zeichnen
Am im Forum: Grafik und Sound

Hi herbivore,

könnte es nicht eher daran liegen, dass ich


Rectangle rec = dataGridView1.GetCellDisplayRectangle(col.Index, row.Index, false);
                    dataGridView1.RectangleToClient(rec);

benutze? Denn es passiert nur wenn das Datum was ich eingebe ausserhalb vom Bildschirm ist. Also ich kann vom 01.01.2007 bis 15.01.2007 sehen und müsste dann scrollen um die anderen zu sehen.

MfG

Thema: Probleme beim Zeichnen
Am im Forum: Grafik und Sound

Hi Zusammen,

habe da ein Problem festgestellt, dass ich bis jetzt noch nicht lösen konnte. Vielleicht weiß jemand rat und kann mir helfen.

Ich habe ein DataGridView in den Columns steht das Datum. Vom 01.01.2007 bis 31.03.2007. Hier ist der Code dazu:


int tage, tage1;
            ka.Kalender1();
            tage = ka.tage1;
            monat1 = ka.monatslaenge;

            tage1 = 0;

            for (int i = 1; i < 4; i++)
            {
                tage1 += Convert.ToInt32(monat1[i - 1]);
            }

            DateTime dt = new DateTime(2006, 12, 31);
            
            for (int i = 1; i < tage1 + 1; i++)
            {
                dataGridView1.Columns.Add(dt.AddDays(i).ToShortDateString(), (dt.AddDays(i).DayOfWeek.ToString() + " " + dt.AddDays(i).ToShortDateString()));
                
                dataGridView2.Columns.Add(dt.AddDays(i).ToShortDateString(), dt.AddDays(i).DayOfWeek.ToString() + " " + dt.AddDays(i).ToShortDateString());
            }

Das klappt ja auch wunderbar. Jetzt möchte ich, dass ein Zeitstrahl gezeichnet wird z.B. vom 02.01.2007 bis 15.01.2007. Das klappt auch wunderbar, allerdings nur bis zum 17.01.2007. Also wenn ich z.B. einen Zeitstrahl vom 02.01.2007 bis 18.01.2007, dann werden die X und Y Koordinate mit 0 ausgegeben, also in der oberen Ecke. Für den Startpunkt kommen die richtigen Koordinate.

Hier ist mein Code zum Zeichnen:


Pen pen = new Pen(Brushes.Black, 8);
            foreach (DataGridViewRow row in dataGridView1.Rows)
            {
                if (row.Index == dataGridView1.RowCount - 1)
                {
                    break;
                }
                Point anfang = new Point();
                Point ende = new Point();
                anfang.X = -1;
                ende.X = -1;
                foreach (DataGridViewColumn col in dataGridView1.Columns)
                {
                    Rectangle rec = dataGridView1.GetCellDisplayRectangle(col.Index, row.Index, true);
                    dataGridView1.RectangleToClient(rec);
                    if (col.Name == "01.01.2007")
                    {

                        anfang.X = rec.Left + rec.Width / 2;
                        anfang.Y = rec.Top + rec.Height / 2;
                    }

                    if (col.Name == "18.01.2007")
                    {
                        ende.X = rec.Left + rec.Width / 2;
                        ende.Y = rec.Top + rec.Height / 2;
                    }
                }
                if (anfang.X ≥ 0 && ende.X ≥ 0)
                {
                    pen.StartCap = LineCap.DiamondAnchor;
                    pen.EndCap = LineCap.DiamondAnchor;
                    e.Graphics.DrawLine(pen, anfang, ende);
                }
            }

Wäre echt super wenn mir einer helfen könnte, kann es mir nicht erklären, warum er ab dem 18.01.2007 nur noch die 0 für die X und Y Koordinate ermittelt.

MfG

Thema: Falscher Einstiegspunkt bei Drawline???
Am im Forum: Grafik und Sound

Da habe ich auch schon dran gedacht, dass dort mein Fehler liegt.

Blöde frage, aber wie erzähl ich ihm denn das er an der Celle vom 03.01.2007 anfangen soll mit zeichnen? Ich komme da einfach nicht drauf, vielleicht sitze ich auch schon zu lange daran, dass ich da nicht drauf komme.

Thema: Falscher Einstiegspunkt bei Drawline???
Am im Forum: Grafik und Sound

Hi Zusammen,

vielleicht kann mir einer helfen. Ich habe ein DataGridView. In den ColumnHeaderText steht fü jede Spalte ein Datum drinn.

Ich möchte gerne das z. B. vom 03.01.2007 bis 09.01.2007 eine Linie gezeichnet wird, leider beginnt er bei mir immer in der ersten Spalte, also auch in der ersten Celle, statt die Celle vom 03.01.2007!

Wie bekomme ich es denn hin, dass er mit dem Zeichnen in der Celle vom 03.01.2007 anfängt?

Hier ist mein Code:


private void dataGridView1_Paint(object sender, PaintEventArgs e)
        {
            int a = 0;
            int en = 0;
            Pen pen = new Pen(Brushes.Black, 8);
            DataGridViewRow row = dataGridView1.Rows[0];
            int anzahl = 0;
            int width = 0;
            foreach (DataGridViewColumn col in dataGridView1.Columns)
            {
                if (col.Name == "03.01.2007")
                {
                    a = col.Index;
                }
                if(col.Name == "09.01.2007")
                {
                    en = col.Index;
                }
            }
            anzahl = (en-a) + 1;
            for(int i = 0;i<anzahl;i++)
            {
                width += dataGridView1.Columns[i].Width;
            }
            
            pen.StartCap = LineCap.DiamondAnchor;
            Rectangle rect = dataGridView1.GetRowDisplayRectangle(row.Index,true);
            e.Graphics.DrawLine(pen, dataGridView1.RowHeadersWidth * 2, rect.Y + (row.Height / 2), width, rect.Y + (row.Height / 2));
        }

Wäre echt super nett wenn mir da jemand helfen könnte

MfG

Thema: DataGridViewColumn???
Am im Forum: GUI: Windows-Forms

Hi Zusammen,

ich bin jetzt schon ein paar Tage dabei in einer Row in DataGridView eine Linie zu zeichnen. Für die ganz Linie klappt es auch wunderbar. Nun möchte ich aber gerne das er nur über ganz bestimmt Spalten in der Row die Linie zeichnet.

Hat jemand ein Tipp für mich wie ich da ran gehen muss? Die Spalten müssen doch bestimmt irgendwie angesprochen werden?

Ich habe in den Columns verschiedene Datum stehen und die Columns heißen auch so. Jetzt würde ich halt gerne z.B. vom 03.01.2007 bis zum 08.01.2007 eine Linie zeichnen. Leider komme ich darauf wie ich das am besten machen kann?!

Hier mein Code für die ganze Zeile, den habe ich hier gefunden:


string start = "03.01.2007";
DataGridViewColumn col = dataGridView1.Columns[0];//Hier vielleicht was falsch??
if (col.Name == start)
{
       Pen pen = new Pen(Brushes.Black, 8);
       int width = 0;
       DataGridViewRow row = dataGridView1.Rows[0];
       for (int i = 0; i < dataGridView1.Columns.Count; i++)
       {
             width += dataGridView1.Columns[i].Width;
        }
        pen.StartCap = LineCap.DiamondAnchor;
        Rectangle rect = dataGridView1.GetRowDisplayRectangle(row.Index, true);
        e.Graphics.DrawLine(pen, (dataGridView1.RowHeadersWidth * 2), rect.Y +      (row.Height / 2), width - 200, rect.Y + (row.Height / 2));
}

Wäre nett wenn mir jemand einen rat oder Tipp geben könnte

MfG

Thema: TreeView.Checked??
Am im Forum: GUI: Windows-Forms

hi web,

so habe es jetzt hinbekommen, danke schön für den Tipp und hilfe

Hier der Code:


public void CheckedNode(TreeNodeCollection tnc)
        {
            int i = 0;
            foreach (TreeNode node in tnc)
            {
                if (node.Checked)
                {
                    dataGridView1.Rows.Add();
                    dataGridView1.Rows[i].HeaderCell.Value = node.Text;
                    i++;
                }
                
                this.CheckedNode(node.Nodes);
            }
        }

MfG

Thema: TreeView.Checked??
Am im Forum: GUI: Windows-Forms

Hi webstarg,

das werde ich mal testen und versuchen.

Aber sollte noch jemand ein Tipp für mich hat, wäre ich darüber natürlich auch sehr dankbar:-)

MfG

Thema: TreeView.Checked??
Am im Forum: GUI: Windows-Forms

Schonmal danke für die schnelle Antwort, aber leider hilft es nicht ganz so dabei mein Problem zu lösen, kann auch sein das ich mich nicht richtig ausgedrückt habe.

Ich möchte gerne das alle Nodes die ich per Checkboxes gecheckt habe in meinem DataGridView.rows[].headerCell.value = e.node.text angezeigt wird.Für jedes Projekt eine row im DataGridview.

Vielleicht sitze ich auch schon zu lange da drann heute, dass ich nicht drauf komme, aber vielleicht kann mir ja doch noch jemand helfen bzw ein Tipp geben.

Werde auf jeden Fall noch weiter versuchen und nachlesen.

MfG

Thema: TreeView.Checked??
Am im Forum: GUI: Windows-Forms

Hallo zusammen,

komme im moment nicht weiter und ich glaube es ist auch gar nicht so schwer, aber vielleicht kann mir einer weiterhelfen.

Ich habe ein TreeView mit zwei Nodes(Teile und Projekt) unter Teile sind dann verschiedene Name der Teile aufgelistet ebenso bei den Projekten.

Nun möchte ich gerne, den Name der jeweiligen Teile bzw. Projekte in meinem DataGridView.Rows[?].HeaderCell.Value = e.Node.Text anzeigen lassen.

Mache ich es mit einem Projekt dann klappt es auch wunderbar. Allerdings soll es auch bei mehreren ausgewählten Projekten funktionieren, da habe ich hier etwas gefunden mit Checked. Und das ist der Punkt an dem ich nicht weiter komme, stehe vollkommen auf den schlau.

Hier der Code für ein Projekt:


private void treeView1_AfterSelect(object sender, TreeViewEventArgs e)
        {
            if (e.Node.IsSelected == true)
            {
                dataGridView1.Rows[0].HeaderCell.Value = e.Node.Text;
            }
        }

Wollte eigentlich die gecheckten Nodes zählen und dann über eine for-schleife die gecheckten Nodes der Datagridview zuordnen. Aber irgendwie klappt es nicht.

Hat vielleicht jemand ein Tipp für mich bzw. mach ich was falsch?

MfG

Thema: Steuerelement für colspan?
Am im Forum: GUI: Windows-Forms

Hi xxxprod und winsharp,

das werde ich mir doch glatt mal anschauen eure Steuerelemente.

@xxxprod Wie bist du denn da ran gegangen bei deinem DataGridView?

Gruß

Thema: Steuerelement für colspan?
Am im Forum: GUI: Windows-Forms

Hi Zusammen,

gibts vielleicht ein anderes Steuerelement bei dem man colspan anwenden kann?

Mit DataGridView scheint es nicht wirklich zu gehen, es sei denn das man es selber Zeichnet.

Hat jemand vielleicht ein Tipp?

Gruß

Thema: DataGridView Columns über mehrere Cell?(colspan)
Am im Forum: GUI: Windows-Forms

Hi Zusammen,

habe da mal eine kurze frage. Ich möchte im DataGridView eine Spalte mit Überschrift z.B. "Januar" und da der Monat ja 31 Tage hat, sollen die Tage natürlich unterteilt sein. Also Column Januar und in der nächsten Zeile sollen dann die Tage aufgelistet werden in einzelnen Cells.

Gibts beim DataGridView etwas wie colspan beim Html?

Also eine Überschrift über mehrere Spalten so ungefähr. Ich hoffe ich habe mich einigermassen verständlich ausgedrückt

Gruß

Thema: Eigenes Usercontrol schreiben (Datagridview)
Am im Forum: GUI: Windows-Forms

Hallo Herbivore,

ich würde gerne mal ein paar ergebnisse sehen wenn ich mein Code Kompiliere, aber das kann man wohl nicht so richtig. Daher denke ich das ich irgendwie auf den falschen Weg bin. Daher auch meine Frage mit der .dll einbinden

habe da noch nicht richtig drüber nachgedacht:-(, aber ich denke mal, dass ich es selber zeichnen muss.

Nun ja, ich möchte gerne UserControl schreiben von einem DataGidView. Das soll dann ein mehr oder weniger Kalender darstellen. In den Coumns sollen die Monate und die Tage stehen evtl. auch noch das Datum(z.B. 18.07). Da drunter soll dann ein Balken über einen bestimmten Zeitraum dargestellt werden. Dies nur mal kurz und grob wie es aussehen soll.

Dieses Control soll mir eine Übersicht zur Verfügung stellen. Das war so mein Ansatz. Und ich hatte mir gedacht, dass ich mir so eins selber schreibe :-)! Weiß nur nicht so richtig wie man da so ran geht:-(! Bin ich denn so einigermassen auf den richtigen weg mit meinem Code.

Werde mir auf jeden Fall deine Links nochmal genauer anschauen:-)!

MfG

Thema: Eigenes Usercontrol schreiben (Datagridview)
Am im Forum: GUI: Windows-Forms

Hallo zusammen,

hat vielleicht jemand eine gute Seite, wo ich nachlesen kann, wie ich am besten ein eigenes Usercontrol schreiben kann?

Bin gerade dabei eins zu schreiben. Es soll eins so ähnlich wie Kalender sein.
Komme aber da nicht so richtig weiter und habe bisher nichts gefunden wie ich da am besten ran gehen kann.

Hier ist so mein ansatz:


namespace Visuelle_Projektplanung
{
    public class Kalender : DataGridView 
    {        
        private int k_jahr, k_viertel;
        private string k_blockFarbe,k_toggleFarbe, k_cellWidth, k_cellHight, k_blankGifPath;
        string[] k_namen;
        int k_KeineTage;

        public Kalender()
        {
            k_namen = new string[3];
        }

        #region Public Proberties

        //gets sets aus der Tabelle???

        [Bindable(true), Category(), DefaultValue(1)]
        public int Viertel
        {
            get
            {
                return k_viertel;
            }

            set
            {
                k_viertel = value;
            }
        }

        [Bindable(true), Category(), DefaultValue("")]
        public int Jahr
        {
            get
            {
                return k_jahr;
            }

            set
            {
                k_jahr = value;
            }
        }

        [Bindable(true), Category(), DefaultValue("Rot")]
        public string BlockFarbe
        {
            get
            {
                return k_blockFarbe;
            }

            set
            {
                k_blockFarbe = value;
            }
        }

        [Bindable(true), Category(), DefaultValue("15")]
        public int CellWidth
        {
            get
            {
                return int.Parse(k_cellWidth);
            }

            set
            {
                k_cellWidth = value.ToString();
            }
        }

        [Bindable(true), Category(), DefaultValue("15")]
        public int CellHeight
        {
            get
            {
                return int.Parse(k_cellHight);
            }

            set
            {
                k_cellHight = value.ToString();
            }
        }

        [Bindable(true), Category(), DefaultValue("#dcdcdc")]
        public string ToggleFarbe
        {
            get
            {
                return k_toggleFarbe;
            }

            set
            {
                k_toggleFarbe = value;
            }
        }

        [Bindable(true), Category(), DefaultValue("#dcdcdc")]
        public string BlankGifPath
        {
            get
            {
                return k_blankGifPath;
            }

            set
            {
                k_blankGifPath = value;
            }
        }

        #endregion

        #region Hilfs Funktionen

        private void RechteSeite()
        {
            int monat;
            string wochentag;
            bool woche = false;
            ViertelHelfer viertel = new ViertelHelfer(2006, 2);
            DataGridView dgv = new DataGridView();

            for (int i = 1; i < 3; i++)
            {
                monat = i + (3 * (viertel.ViertelIndex - 1));
                //Kalender.Columns.Add(viertel.AlleTageImMonat(monat).ToString(),typeof(string));
                //gridView.Columns.Add(viertel.AlleTageImMonat(monat).ToString());
                foreach(char zahl in viertel.AlleTageImMonat(monat).ToString())
                {
                    dgv.Columns.Add("TagesZahl", zahl.ToString());
                }
                //col. (viertel.AlleTageImMonat(monat).ToString());
            }
            

            for (int i = (3 * viertel.ViertelIndex - 2); i ≤ (3 * viertel.ViertelIndex); i++)
            {
                for (int j = 1; j ≤ viertel.AlleTageImMonat(i); j++)
                {
                    wochentag = viertel.getTageName(i, j);

                    if (wochentag == "Mo")
                    {
                        woche = !woche;
                    }
                }
            }
        }

        #endregion

        #region ViertelHelfer
        private class ViertelHelfer
        {
            private int k_jahr;
            private int k_viertel;
            private string[] k_namen = new string[3];
            private int k_KeineTage;

            public ViertelHelfer()
            {
            }

            public ViertelHelfer(int jahr, int viertel)
            {
                k_jahr = jahr;
                k_viertel = viertel;
                k_namen = getViertelName();
                k_KeineTage = getTageImViertel(k_jahr, k_viertel);
            }

            public int Jahr
            {
                get
                {
                    return k_jahr;
                }
            }

            public int ViertelIndex
            {
                get
                {
                    return k_viertel;
                }
            }

            public string[] Namen
            {
                get
                {
                    return k_namen;
                }
            }

            public int Tage
            {
                get
                {
                    return k_KeineTage;
                }
            }

            public string GetMonatsName(int i)
            {
                return k_namen[i - 1];
            }

            public int AlleTage()
            {
                int ReturnValue = 0;

                switch (k_viertel)
                {
                    case 1:
                        ReturnValue = DateTime.DaysInMonth(k_jahr, 1);
                        ReturnValue += DateTime.DaysInMonth(k_jahr, 2);
                        ReturnValue += DateTime.DaysInMonth(k_jahr, 3);
                        break;
                    case 2:
                        ReturnValue = DateTime.DaysInMonth(k_jahr, 4);
                        ReturnValue += DateTime.DaysInMonth(k_jahr, 5);
                        ReturnValue += DateTime.DaysInMonth(k_jahr, 6);
                        break;
                    case 3:
                        ReturnValue = DateTime.DaysInMonth(k_jahr, 7);
                        ReturnValue += DateTime.DaysInMonth(k_jahr, 8);
                        ReturnValue += DateTime.DaysInMonth(k_jahr, 9);
                        break;
                    case 4:
                        ReturnValue = DateTime.DaysInMonth(k_jahr, 10);
                        ReturnValue += DateTime.DaysInMonth(k_jahr, 11);
                        ReturnValue += DateTime.DaysInMonth(k_jahr, 12);
                        break;
                }

                return ReturnValue;
            }

            public int AlleTageImMonat(int i)
            {
                return DateTime.DaysInMonth(k_jahr,i);
            }

            public string getTageName(int monat, int tag)
            {
                string ReturnValue = string.Empty;
                DateTime t = new DateTime(k_jahr, monat, tag);
                switch (t.DayOfWeek)
                {
                    case
                    DayOfWeek.Monday: ReturnValue = "Mo";
                        break;
                    case
                    DayOfWeek.Tuesday: ReturnValue = "Di";
                        break;
                    case
                    DayOfWeek.Wednesday: ReturnValue = "Mi";
                        break;
                    case
                    DayOfWeek.Thursday: ReturnValue = "Do";
                        break;
                    case
                    DayOfWeek.Friday: ReturnValue = "Fr";
                        break;
                    case
                    DayOfWeek.Saturday: ReturnValue = "Sa";
                        break;
                    case
                    DayOfWeek.Sunday: ReturnValue = "So";
                        break;
                }
                return ReturnValue;
            }

            private string[] getViertelName()
            {
                string[] ReturnValue = new string[3];

                switch (k_viertel)
                {
                    case 1:
                        ReturnValue[0] = "Januar";
                        ReturnValue[1] = "Februar";
                        ReturnValue[2] = "März";
                        break;
                    case 2:
                        ReturnValue[0] = "April";
                        ReturnValue[1] = "Mai";
                        ReturnValue[2] = "Juni";
                        break;
                    case 3:
                        ReturnValue[0] = "Juli";
                        ReturnValue[1] = "August";
                        ReturnValue[2] = "September";
                        break;
                    case 4:
                        ReturnValue[0] = "Oktober";
                        ReturnValue[1] = "November";
                        ReturnValue[2] = "Dezember";
                        break;
                }
                return ReturnValue;
            }

            private int getTageImViertel(int jahr, int viertel)
            {
                DateTime dtStart, dtEnde;
                if (viertel < 4)
                {
                    dtStart = new DateTime(jahr, (3 * viertel - 2), 1);
                    dtEnde = new DateTime(jahr, (3 * viertel - 2) + 3, 1);
                }
                else
                {
                    dtStart = new DateTime(jahr, (3 * viertel - 2), 1);
                    dtEnde = new DateTime(jahr + 1, 1, 1);
                }

                TimeSpan ts = new TimeSpan(dtEnde.Subtract(dtStart).Ticks);
                return ts.Days;
            }

            public int getSpaltenIndex(string tag)
            {
                DateTime dt = DateTime.Parse(tag);
                int offset = 0;
                int ReturnValue = 0;

                for (int i = 1; i < k_viertel; i++)
                {
                    offset += getTageImViertel(k_jahr, i);
                }

                ReturnValue = (dt.DayOfYear - 1) - offset;

                if (ReturnValue < 0)
                {
                    ReturnValue = 0;
                }

                if (ReturnValue > getTageImViertel(k_jahr, k_viertel))
                {
                    ReturnValue = getTageImViertel(k_jahr, k_viertel);
                }

                return ReturnValue;
            }
        }
        #endregion
    }

Wie gesagt komme da nicht so richtig weiter. Habe auch irgendwo was gelesen, dass ich diese Klasse dann als .dll einbinden muss. Sehe ich das richtig?

Wäre echt klasse wenn mir einer eine gute Seite sagen kann, wo es erklärt ist, wie meine eigene UserControll anfertigt und einbindet.

Danke im voraus.

Gruß

Thema: Verbindungsprobleme mit dem Server SQL 2005 Express
Am im Forum: Datentechnologien

Hi zusammen nochmal,

habe jetzt eine Verbindung hinbekommen. Hatte wohl doch den SQLExpress Server, sorry:-(!
Habe jetzt

server=.\\SQLExpress 
angegeben. Nun klappts.

Danke an alles für die hilfe

Gruß Olli

Thema: Verbindungsprobleme mit dem Server SQL 2005 Express
Am im Forum: Datentechnologien

Hi Bernd,

mit dem SQL Server Management Studio Express komme ich rauf bzw bekomme eine Verbindung.

Habe eine SQL Server 2005. Ich arbeite nur mit meinem Laptop, versuche also nicht von einem anderen Rechner drauf zugreifen. Weiß echt nicht woran es liegt. Muss auch dazu gestehen, dass ich mich nicht sehr gut mir SQL Server auskenne.

Wollte alles nur Lokal bearbeiten. Habe in der Datenbank MyCompany zwei Tabellen mit denen ich arbeiten wollte. Und nun bekomme ich keine Verbindung:-(

Wo stelle ich denn Browser- Dienst extra ein? Ich glaube ich habe schon alles aktiviert, bin fast alles durchgegangen und habe alles aktiviert. Ich hoffe ich habe nicht vergessen. Ich glaube das mit dem Browser- Dienst habe ich noch nicht

Gruß Olli(Big)

Thema: Verbindungsprobleme mit dem Server SQL 2005 Express
Am im Forum: Datentechnologien

Hi zusammen,

bekomme keine Verbindung zum SQL Server 2005 auf meinem Laptop.

Die Fehlermeldung lautet so:
Fehler beim Herstellen einer Verbindung mit dem Server. Beim Herstellen einer Verbindung mit dem SQL Server 2005 kann dieser Fehler dadurch verursacht werden, dass unter den SQL Server-Standardeinstellungen Remoteverbindungen nicht zulässig sind!

Habe mich schon über SQL-Authentifizierung angemeldet klappt troztdem nicht.


            try
            {
                SqlConnection con = new SqlConnection();
                con.ConnectionString = "Data Source=(local);" +
                                       "Database=MyCompany;" +
                                       "Trusted_Connection=false;" +
                                       "User ID=xxxx;" +
                                       "Password=xxxx;";
                con.Open();
            }
            catch (Exception e)
            {
                MessageBox.Show(e.Message);
            }

Kann mir vielleicht einer helfen, komme einfach nicht weiter?

Mfg

Thema: Mit Tabellen arbeiten?
Am im Forum: Datentechnologien

Alles klar, also brauch ich sie nicht in ein DataSet schreiben. Hatte nur gedacht, dass ich sie dort zwischenspeichern muss um mit meinen beiden Tabellen zu arbeiten, da ich in beiden Tabellen Daten habe um ein Endergebnis zu erhalten.

Thema: Mit Tabellen arbeiten?
Am im Forum: Datentechnologien

Hallo Zusammen,

habe da mal eine kleine Frage. Habe jetzt schon viel gelesen über DataTable. Entweder habe ich es überlesen oder es geht nicht, wie ich es mir vorstelle.

Ich habe zwei Dateien die ich auslese und in zwei DataTable schreibe. Jetzt möchte ich gerne mit den zwei Tabellen arbeiten. So wie ich es jetzt gelesen habe, muss ich diese Tabellen erst in ein DataSet schreiben um mit denen zuarbeiten via SQL- Abfragen, stimmt das? Oder gibts da eine andere möglichkeit?

MfG

Thema: openfiledialog.multiselect????
Am im Forum: GUI: Windows-Forms

Habe das Problem gefunden und gelöst. Die Übergabe muss der Variablen müssen in der if-Abfrage geschehen und nicht erst ganz am schluss wie in meinem ersten Eintrag.


private void auslesen(string fileName)
        {
            DataTable Teile = new DataTable("TeileTabelle");
            DataTable Dispo = new DataTable("DispoTabelle");
            string word = "";
            char[] deli = new char[] { ';' };

            if (File.Exists(fileName.Substring(0, fileName.Length - 4) + ".csv"))
            {
                fileName = fileName.Substring(0, fileName.Length - 4) + ".csv";
            }
            
                StreamReader sr = new StreamReader(fileName);

                word = sr.ReadLine();

                if (word.Split(deli).Length ≤ 14)
                {
                    string[] ersteZeile = word.Split(';');

                    foreach (string strSpalte in ersteZeile)
                    {
                        Teile.Columns.Add(strSpalte, typeof(string));
                    }

                    while ((word = sr.ReadLine()) != null)
                    {
                            string[] ersteZeile1 = word.Split(';');

                            DataRow zeile = Teile.NewRow();

                            for (int i = 0; i < ersteZeile1.Length; i++)
                            {
                                for (int j = 0; j < ersteZeile.Length; j++)
                                {
                                    zeile[j] = ersteZeile1[i];
                                    i++;
                                }
                            }
                            Teile.Rows.Add(zeile);
                    }
                    Teile1 = Teile;//Hier muss die Übergabe geschehen für die Tabelle Teile
                }
                else
                {
                    string[] ersteZeile = word.Split(';');

                    foreach (string strSpalte in ersteZeile)
                    {
                        Dispo.Columns.Add(strSpalte, typeof(string));
                    }

                    while ((word = sr.ReadLine()) != null)
                    {
                            string[] ersteZeile1 = word.Split(';');

                            DataRow zeile = Dispo.NewRow();

                            for (int i = 0; i < ersteZeile1.Length; i++)
                            {
                                for (int j = 0; j < ersteZeile.Length; j++)
                                {
                                    zeile[j] = ersteZeile1[i];
                                    i++;
                                }
                            }
                            Dispo.Rows.Add(zeile);
                    }
                    Dispo1 = Dispo;//Hier muss die Übergabe für Dispo geschehen!!!
                }

Auf jeden Fall vielen Dank für die Hilfe!!!

Jetzt werden beide Tabellen gleichzeitig angezeigt:-)

MfG

Thema: openfiledialog.multiselect????
Am im Forum: GUI: Windows-Forms

hi nin,

sorry, stimmt natürlich. In getdata() hole ich mir die beiden Tabellen aus der Klasse


        private void getData()
        {
            switch(fileName.Substring(fileName.Length - 3).ToString().ToLower())
            {
                case "csv":
                    {
                        td.td_auslesen(fileName);
                        dataGridView1.DataSource = td.Teile1;
                        dataGridView2.DataSource = td.Dispo1;
                        break;
                    }
            }
        }
Weiß zwar nicht ob es weiterhilft, ich denke mal schon. Hier ist dann nochmal die Klasse in der ich die Dateien auslese.


        private void auslesen(string fileName)
        {
            DataTable Teile = new DataTable("TeileTabelle");
            DataTable Dispo = new DataTable("DispoTabelle");
            string word = "";
            char[] deli = new char[] { ';' };

            if (File.Exists(fileName.Substring(0, fileName.Length - 4) + ".csv"))
            {
                fileName = fileName.Substring(0, fileName.Length - 4) + ".csv";
            }
            
                StreamReader sr = new StreamReader(fileName);

                word = sr.ReadLine();

                if (word.Split(deli).Length ≤ 14)
                {
                    string[] ersteZeile = word.Split(';');

                    foreach (string strSpalte in ersteZeile)
                    {
                        Teile.Columns.Add(strSpalte, typeof(string));
                    }

                    while ((word = sr.ReadLine()) != null)
                    {
                        //if (word.Split(deli).Length ≤ 14)
                        //{
                            string[] ersteZeile1 = word.Split(';');

                            DataRow zeile = Teile.NewRow();

                            for (int i = 0; i < ersteZeile1.Length; i++)
                            {
                                for (int j = 0; j < ersteZeile.Length; j++)
                                {
                                    zeile[j] = ersteZeile1[i];
                                    i++;
                                }
                            }
                            Teile.Rows.Add(zeile);
                        //}
                    }
                }
                else
                {
                    string[] ersteZeile = word.Split(';');

                    foreach (string strSpalte in ersteZeile)
                    {
                        Dispo.Columns.Add(strSpalte, typeof(string));
                    }

                    while ((word = sr.ReadLine()) != null)
                    {
                        //if (word.Split(deli).Length ≤ 14)
                        //{
                            string[] ersteZeile1 = word.Split(';');

                            DataRow zeile = Dispo.NewRow();

                            for (int i = 0; i < ersteZeile1.Length; i++)
                            {
                                for (int j = 0; j < ersteZeile.Length; j++)
                                {
                                    zeile[j] = ersteZeile1[i];
                                    i++;
                                }
                            }
                            Dispo.Rows.Add(zeile);
                        //}
                    }
                }
            //sr.Close();
            Teile1 = Teile;
            Dispo1 = Dispo;
            sr.Close();
        }

Gehe ich denn überhaupt richtig daran? Nicht das ich völlig auf der falschen Spur bin?

MfG

Thema: openfiledialog.multiselect????
Am im Forum: GUI: Windows-Forms

Hallo zusammen,

habe da ein kleines Problem, bei dem ich nicht weiter komme. Ich möchte zwei Dateien auslesen und sie dann nachher in zwei verschiedene DataGridview anzeigen lassen. Ich gehe folgendermassen vor: Ich öffne über eine openfiledialog zwei dateien aus. Über getdata() gelange ich dann in die Klasse wo die Dateien ausglesen werden.


fileNames = openFileDialog1.FileNames;

foreach (string fileName1 in fileNames)
{
      fileName = fileName1;
      getData();
}

Das auslesen klappt ja auch wunderbar, nur wird mir immer nur eine Datei ausgegeben. Ist ja im Grunde auch klar, da die erste Datei wieder überschreiben wird, wenn die zweite gelesen wird. Hat jemand eine Idee, wie man das lösen könnte, oder muss ich die beiden Dateien in zwei unterschiedliche Klassen übergeben?
Wäre schön wenn mir einer dabei helfen könnte oder mir ein Tipp geben kann wie man das am besten lösen kann:-)

MfG