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 Maffi1986
Thema: C# Datagrid drucken ab zeile X neue Seite
Am im Forum: Rund um die Programmierung

Hallo liebe C#ler,

ich drucke ein Datagrid, hier ein Codeauszug


                   DataGridViewRow GridRow = DgVGutsch.Rows[iRow];
                    //Set the cell height
                    iCellHeight = GridRow.Height + 5;
                    int iCount = 0;
                    //Check whether the current page settings allo more rows to print
                    if (iTopMargin + iCellHeight ≥ e.MarginBounds.Height + e.MarginBounds.Top)
                    {
                        bNewPage = true;
                        bFirstPage = false;
                        bMorePagesToPrint = true;
                        break;
                    }
                    else
                    {
                        if (bNewPage)
                        {

woran erkennt der Code, das eine neue Seite benötigt wird? Mein Problem, die Seite hat einen Fuß der von dem grid überdruckt wird sobald das Grid mehr als 16 Zeilen hat. Wo kann ich bestimmen, wann eine neue Seite gedruckt wird? Und falls eine neue Seite gedruckt wird, sollen bestimmte sachen auf der ersten Seite verschwinden. Ich bin ein Anfänger und bin dankbar für jede Hilfe.

hier der ganze Code aus dem Thread Druck: DataGridView beginnt zu tief auf der Seite

Vielen Dank im vorraus

Maffi

Thema: Kalender Control
Am im Forum: .NET-Komponenten und C#-Snippets

Gibt es ein Tutorial für dieses Control?

Wie füge ich einen Termin hinzu? Wie speiche ich einen Termin bzw. wie lade ich alle Termin die ich zb. in einer Datenbank gespeichert habe?


CalendarControl.CalendarItem newItem = new CalendarControl.CalendarItem(myCalendar.SelectedDate, "neuer Eintrag 08/15");
myCalendar.Items.Add(newItem);

habe es hiermit aus dem vorbeitrag versucht, leider ohne erfolg.

auch

            MessageBox.Show(myCalendar.SelectedDate.ToString());
gibt nur das tagesdatum, nicht das ausgewählte datum aus :(

Thema: Navigationsleiste im GUI realisieren (links am Rand)
Am im Forum: GUI: Windows-Forms

Erstmal vielen Dank für die Hilfe,

ich habe eine einfache Lösung gefunden. Für alle die auch nach etwas einfachem suchen hier der Link aus dem
C# TabControl


Allerdings habe ich das Problem, das ich die Farbe vom TabControl nicht ändern kann. Mein Projekt ist in einem schlichtem Weiß gehalten, und das TabControl hat als Hintergrund die Control Farbe. Nach kurzem googlen habe ich den Beitrag Farbe von TabControl ändern? gefunden, geht das nicht kürzer? Ich muss "nur" den Hintergrund ändern.

Liebe Grüße

Manuel

Thema: Navigationsleiste im GUI realisieren (links am Rand)
Am im Forum: GUI: Windows-Forms

Zitat von BhaaL
...die Frage ist halt eher, warum selber bauen?

Nun, die Lösung von Codeprojekt sieht sehr gut aus, aber leider lässt sich Guifreaks nicht in meinem Visual Studio 2013 installieren. Laut Setup nur bis VS2010. :(

Und da ich leider noch anfänger bin, traue ich mir nicht zu alles per Hand einzufügen.

Thema: Navigationsleiste im GUI realisieren (links am Rand)
Am im Forum: GUI: Windows-Forms

Vielen Dank für die schnelle Hilfe Bhaal,

gibt es auch eine "einfache" Lösung die ich schnell in mein Projekt einfügen kann? Mit würde es reichen wenn ich bei einem TabControl die Buttons übereinander anordnen und die Schrift Waagerecht mit kleinem Bild anzeigen könnte.

Liebe Grüße

Manuel

Thema: Navigationsleiste im GUI realisieren (links am Rand)
Am im Forum: GUI: Windows-Forms

Hallo Lieber C#ler,

mein Projekt wird immer größer und ich brauche ein Menü links am Rand, ähnlich wie auf dem Bild. Wenn ich nach Menü C# oder ähnliches google finde ich nix gescheites. Jemand eine Idee wie ich ein solches Menü hinbekomme?

Vielen Dank

Manuel

Thema: List nur die ersten 200 einträge im Datagrid anzeigen?
Am im Forum: GUI: WPF und XAML

Vielen Dank für die Hilfe.
Wie gesagt, bin noch am Anfang, den Sinn verstehe ich, hab nur manchmal Syntax Probleme. Ich brauche leider alle Einträge in der List für meine Suchfunktion.

Habe folgendes versucht

DgVGutschriften.DataSource = DataGut.Take(500);

gibt mir aber nichts aus, lasse ich Take(500) weg, kommen 1200 Einträge, habe ich einen Fehler gemacht?

Gruß Manuel

Thema: List nur die ersten 200 einträge im Datagrid anzeigen?
Am im Forum: GUI: WPF und XAML

Hallo Liebe C#ler,

ich bin noch Anfänger und habe eine kleine Frage, ich erzeuge eine list

List<MyDataObject> data = new List<MyDataObject>();
später fülle ich das Grid aus einer MySQL DB

data.Add(new MyDataObject() { KDNR = MysqlReader[0].ToString(), Na..
und weise dann dem Grid die List zu

DatagridViewKunden.DataSource = data;

Für eine Suchfunktion brauche ich alle einträge in der List. Im Grid möchte ich aber nur die ersten 200 Einträge sehen.

Vielen Dank im vorraus

Manuel

Thema: Druck: DataGridView beginnt zu tief auf der Seite
Am im Forum: Rund um die Programmierung

Hallo Liebe C#ler,

ich drucke ein Datagridview, auf dem Druck ist über den Grid etwa 1/4 der Seite weiß, dann fängt erst das grid an, ich würde gerne oben anfangen zu drucken.

Vielen Dank im Vorraus für eure Hilfe

Hier mein Code


#region Drucken

        private void printDocument1_PrintPage(object sender, PrintPageEventArgs e)
        {

            try
            {
                //Set the left margin
                int iLeftMargin = e.MarginBounds.Left;
                //Set the top margin
                int iTopMargin = e.MarginBounds.Top;
                //Whether more pages have to print or not
                bool bMorePagesToPrint = false;
                int iTmpWidth = 0;

                //For the first page to print set the cell width and header height
                if (bFirstPage)
                {
                    foreach (DataGridViewColumn GridCol in DgVmetallarten.Columns)
                    {
                        iTmpWidth = (int)(Math.Floor((double)((double)GridCol.Width /
                                       (double)iTotalWidth * (double)iTotalWidth *
                                       ((double)e.MarginBounds.Width / (double)iTotalWidth))));

                        iHeaderHeight = (int)(e.Graphics.MeasureString(GridCol.HeaderText,
                                    GridCol.InheritedStyle.Font, iTmpWidth).Height) + 11;

                        // Save width and height of headres
                        arrColumnLefts.Add(iLeftMargin);
                        arrColumnWidths.Add(iTmpWidth);
                        iLeftMargin += iTmpWidth;
                    }
                }
                //Loop till all the grid rows not get printed
                while (iRow ≤ DgVmetallarten.Rows.Count - 1)
                {
                    DataGridViewRow GridRow = DgVmetallarten.Rows[iRow];
                    //Set the cell height
                    iCellHeight = GridRow.Height + 5;
                    int iCount = 0;
                    //Check whether the current page settings allo more rows to print
                    if (iTopMargin + iCellHeight ≥ e.MarginBounds.Height + e.MarginBounds.Top)
                    {
                        bNewPage = true;
                        bFirstPage = false;
                        bMorePagesToPrint = true;
                        break;
                    }
                    else
                    {
                        if (bNewPage)
                        {


                            String strDate = DateTime.Now.ToString("dd.MM.yyyy");
                            //Datum drucken
                            e.Graphics.DrawString("Datum: " + strDate, new Font(DgVmetallarten.Font, FontStyle.Bold),
                                    Brushes.Black, e.MarginBounds.Left + (e.MarginBounds.Width -
                                    e.Graphics.MeasureString(strDate, new Font(DgVmetallarten.Font,
                                    FontStyle.Bold), e.MarginBounds.Width).Width - 42), e.MarginBounds.Top -
                                    e.Graphics.MeasureString("Customer Summary", new Font(new Font(DgVmetallarten.Font,
                                    FontStyle.Bold), FontStyle.Bold), e.MarginBounds.Width).Height + 25);

                            //Draw Columns                 
                            iTopMargin = e.MarginBounds.Height - 800;
                            foreach (DataGridViewColumn GridCol in DgVmetallarten.Columns)
                            {
                                e.Graphics.FillRectangle(new SolidBrush(Color.LightGray),
                                    new Rectangle((int)arrColumnLefts[iCount], iTopMargin,
                                    (int)arrColumnWidths[iCount], iHeaderHeight));

                                e.Graphics.DrawRectangle(Pens.Black,
                                    new Rectangle((int)arrColumnLefts[iCount], iTopMargin,
                                    (int)arrColumnWidths[iCount], iHeaderHeight));

                                e.Graphics.DrawString(GridCol.HeaderText, GridCol.InheritedStyle.Font,
                                    new SolidBrush(GridCol.InheritedStyle.ForeColor),
                                    new RectangleF((int)arrColumnLefts[iCount], iTopMargin,
                                    (int)arrColumnWidths[iCount], iHeaderHeight), strFormat);
                                iCount++;
                            }
                            bNewPage = false;
                            iTopMargin += iHeaderHeight;
                        }
                        iCount = 0;
                        //Draw Columns Contents                
                        foreach (DataGridViewCell Cel in GridRow.Cells)
                        {
                            if (Cel.Value != null)
                            {
                                e.Graphics.DrawString(Cel.Value.ToString(), Cel.InheritedStyle.Font,
                                            new SolidBrush(Cel.InheritedStyle.ForeColor),
                                            new RectangleF((int)arrColumnLefts[iCount], (float)iTopMargin,
                                            (int)arrColumnWidths[iCount], (float)iCellHeight), strFormat);
                            }
                            //Drawing Cells Borders 
                            e.Graphics.DrawRectangle(Pens.Black, new Rectangle((int)arrColumnLefts[iCount],
                                    iTopMargin, (int)arrColumnWidths[iCount], iCellHeight));

                            iCount++;
                        }
                    }
                    iRow++;
                    iTopMargin += iCellHeight;
                }

                //If more lines exist, print another page.
                if (bMorePagesToPrint)
                    e.HasMorePages = true;
                else
                    e.HasMorePages = false;
            }
            catch (Exception exc)
            {
                MessageBox.Show(exc.Message, "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
            }


        }


        #region Member Variables
        StringFormat strFormat; //Used to format the grid rows.
        ArrayList arrColumnLefts = new ArrayList();//Used to save left coordinates of columns
        ArrayList arrColumnWidths = new ArrayList();//Used to save column widths
        int iCellHeight = 0; //Used to get/set the datagridview cell height
        int iTotalWidth = 0; //
        int iRow = 0;//Used as counter
        bool bFirstPage = false; //Used to check whether we are printing first page
        bool bNewPage = false;// Used to check whether we are printing a new page
        int iHeaderHeight = 0; //Used for the header height
        #endregion


        #region Get Customer Details Button Click Event
        /// <summary>
        /// Handles the customer details button click
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>

        #endregion

        #region Print Button Click Event
        /// <summary>
        /// Handles the print button click event
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        #endregion

        #region Begin Print Event Handler
        /// <summary>
        /// Handles the begin print event of print document
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void printDocument1_BeginPrint(object sender, System.Drawing.Printing.PrintEventArgs e)
        {
            try
            {
                strFormat = new StringFormat();
                strFormat.Alignment = StringAlignment.Near;
                strFormat.LineAlignment = StringAlignment.Center;
                strFormat.Trimming = StringTrimming.EllipsisCharacter;

                arrColumnLefts.Clear();
                arrColumnWidths.Clear();
                iCellHeight = 0;
                iRow = 0;
                bFirstPage = true;
                bNewPage = true;

                // Calculating Total Widths
                iTotalWidth = 0;
                foreach (DataGridViewColumn dgvGridCol in DgVmetallarten.Columns)
                {
                    iTotalWidth += dgvGridCol.Width;
                }
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message, "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
            }
        }
        #endregion

        private void bt_gutOpen_Click(object sender, EventArgs e)
        {
            DatenInTempLadenGutschrift(1);
            neueGutschrift newgut = new neueGutschrift();
            newgut.Show();
        }

        private void bt_kundeDel_Click(object sender, EventArgs e)
        {

        }


        #region Print Page Event
        /// <summary>
        /// Handles the print page event of print document
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        #endregion



        #endregion

Thema: DataGridView Datein Filtern/Suchen in mehreren Spalten
Am im Forum: GUI: Windows-Forms


data.Where(x => (x.Name.IndexOf(tb_suche.Text, StringComparison.CurrentCultureIgnoreCase) > -1) || (x.Vorname.IndexOf(tb_suche.Text, StringComparison.CurrentCultureIgnoreCase) > -1)).ToList();
                

Hat funktioniert, vielen lieben Dank und schöne Grüße aus dem Sauerland

Manuel

Thema: DataGridView Datein Filtern/Suchen in mehreren Spalten
Am im Forum: GUI: Windows-Forms

Hallo liebe C# Community,

ich filter Daten mit einer Textbox in einem DataGridView auf folgende weise:

               
 List<dgvKundenSearch> filteredList = data.Where(x => x.Name.IndexOf(tb_suche.Text, StringComparison.CurrentCultureIgnoreCase) > -1).ToList();
dgvKunden.DataSource = filteredList;

in diesem bsp. durchsuche ich die Spalte Name, (x.Name.IndexOf) ich möchte aber gerne das in der Spalte Vorname auch gesucht wird, wie kann ich eine zweite Spalte zu meiner Suche hinzufügen?

Vielen Dank im vorraus
Anfänger Manuel

Thema: DataGridView Datein Filtern/Suchen
Am im Forum: GUI: Windows-Forms

Hallo liebe Gemeinde,

ich habe mal wieder ein kleines Problemchen,

ich habe ein Datagriedview mit Daten aus einer MySql Datenbank gefüllt:


 public void kundenAktualiesieren()
        {
            DgVkunden.DataSource = null;
            DgVkunden.Rows.Clear();
            MySqlConnection connection = new MySqlConnection(myConnectionString);
            MySqlCommand command = connection.CreateCommand();
            MySqlDataReader MysqlReader = null;
            connection.Open();
            command.CommandText = "Select * from kunden;";

            MysqlReader = command.ExecuteReader();
            while (MysqlReader.Read())
            {
                object[] row = { MysqlReader[0], MysqlReader[1], MysqlReader[2], MysqlReader[3], MysqlReader[4], MysqlReader[5], MysqlReader[6], MysqlReader[7], };
                DgVkunden.Rows.Add(row);
            }
            connection.Close();
        }



nun möchte ich mithilfe einer Textbox die daten Sortieren, habe schon alles versucht, was ich bei google gefunden, aber irgendwie funktioniert nichts. u.a. das hier


               private void textBox2_TextChanged(object sender, EventArgs e)
        {
               ((DataTable)DgVkunden.DataSource).DefaultView.RowFilter = "Column10 like '%" + textBox2.Text.Trim() + "%' ";
        }
      

dort bekomme ich immer die Meldung
Fehler
Der Objektverweis wurde nicht auf eine Objektinstanz festgelegt.

Ich bin noch ein Newbi!!!

Ob das die beste möglichkeit ist, weiß ich nicht. Kann mir jemand Helfen? Ich hätte gerne eine Suche bei der ist zb. te eingebe und er mir alles zeigt was mit tb anfängt.

Vielen Dank im vorraus für eure Hilfe

Manuel

Thema: Mysql Parameter Datum String
Am im Forum: Datentechnologien

So funktioniert es, trozdem vielen Dank für eure unterstüzung.



	string Date = dateTimePicker1.Value.Date.ToString("dd.MM.yyy");

  		
  		mycommand.CommandText  = "SELECT `gewicht`FROM `statistik`WHERE metallart = 'Aluminium' AND Datum = @ID;";
		mycommand.Parameters.Add("@ID", MySqlDbType.String);
  		mycommand.Parameters["@ID"].Value=Date;
  		

Thema: Mysql Parameter Datum String
Am im Forum: Datentechnologien

Das Datum ist ein Char in der DB. Das hat aber nichts mit meinem Problem zu tun, ich lasse mir mycommand in einem Label ausgeben und da steht schon das falsche drin, siehe oben.

Wenn ich statt einem String ein int nehme oder das datum direkt reinschreibe, funktioniert es einwandfrei, nur mit einem string nicht.

Bin leider noch nicht weiter, setze mich aber heute noch eine nacht dran, und fuckel ein wenig

Thema: Mysql Parameter Datum String
Am im Forum: Datentechnologien

Weder mit @ noch mit ? funktioniert es, habe den fehler etwas eingekreist, der parameter nimmt den wert nich an. Siehe anhang

Ich lasse den mycommand in einem label ausgeben!

mycommand.CommandText  = "SELECT `gewicht`FROM `statistik` WHERE metallart = 'Aluminium' AND Datum = @123";
  			mycommand.Parameters.AddWithValue("@123", Date);
  			lbl_Messing_text.Text=mycommand.CommandText.ToString();
  			

Thema: Mysql Parameter Datum String
Am im Forum: Datentechnologien

	
DateTime Date = dateTimePicker1.Value;
mycommand.CommandText  = "SELECT `gewicht`FROM `statistik`WHERE metallart = 'Aluminium' AND Datum = @date";
mycommand.Parameters.AddWithValue("@date", Date);

das kann ich immerhin ohne fehler Kompilieren, ich lasse mir zusätzlich Date in nem Label ausgeben, in Date steht 12.12.2012 drin. Wenn ich es ausführe passiert nichts, wenn ich
AND Datum = @date";
änder in
AND Datum = '12.12.2012'; mache, funktioniert es einwandfrei.

Wie gesagt, bin noch am anfang mit dem programieren, hab mein doch recht komplexes Programm schon fast fertig, allerdings hänge ich an dieser stelle fest, ich hab das irgendwo bei google gefunden und verwendet, es funktionierte auch einwandfrei bis ich halt das datum in meinem mysql befehl brauchte.

Liebe Grüße
Manuel

Thema: Mysql Parameter Datum String
Am im Forum: Datentechnologien

Liegt es vllt daran?

mycommand.Parameters.Add(new MySqlParameter("@date", MySqlDbType.String)).Value=Date;

hier steht MySqlDbType.String)).Value, hier steht string, habe dort auch schon DateTime statt string versucht, aber es kommt immer die meldung, das eine konvertierung vom Typ Syste.DateTime in string nicht möglich ist.

Thema: Mysql Parameter Datum String
Am im Forum: Datentechnologien

bekomme ich die gleiche meldung

Fehler CS0029: Eine implizite Konvertierung vom Typ 'System.DateTime' in 'string' ist nicht möglich.

ich dachte erst das ein fehler im befehl ist, aber wenn ich nen integer einfüge klappt alles, das doofe das der integer die . nicht kann.

Thema: Mysql Parameter Datum String
Am im Forum: Datentechnologien

Ok, gut zu wissen, nur wie bekomme ich jetzt mein Datum aus dem Picker in meinen command für MySQL?

Thema: Mysql Parameter Datum String
Am im Forum: Datentechnologien

Aber genau das mache ich doch?


DateTime Date;
Date = dateTimePicker1.Value;

und dann bekomm ich folgende Meldung:

Fehler CS0029: Eine implizite Konvertierung vom Typ 'System.DateTime' in 'string' ist nicht möglich.
Erstellen fehlgeschlagen. (00:00:00.2901909)

Thema: Mysql Parameter Datum String
Am im Forum: Datentechnologien

Zitat von Maffi1986
wenn ich es ohne mache:
Fehler CS0029: Eine implizite Konvertierung vom Typ 'System.DateTime' in 'string' ist nicht möglich.

DateTime Date = dateTimePicker1.Value;

Liebe Grüße

Manuel


So?

Thema: Mysql Parameter Datum String
Am im Forum: Datentechnologien

Erstmal vielen Dank für die vielen antworten,

in was muss ich denn den dateTimePicker umwandel? wenn ich tostring mache:
Fehler CS0029: Eine implizite Konvertierung vom Typ 'System.DateTime' in 'string' ist nicht möglich.

DateTime Date = dateTimePicker1.Value.ToString();

wenn ich es ohne mache:
Fehler CS0029: Eine implizite Konvertierung vom Typ 'System.DateTime' in 'string' ist nicht möglich.

DateTime Date = dateTimePicker1.Value;

Liebe Grüße

Manuel

Thema: Mysql Parameter Datum String
Am im Forum: Datentechnologien

Hallo liebe Community,

ich bin noch recht neu in dem gebiet, und habe troz suche kein ähnliches problem gefunden, vllt. habe ich auch falsch gesucht :) hier mein Problem

Ich habe das Datum aus einem DateTimePicker in diesem Format 12.11.2012 dieses brauche ich auch in dem format in meiner MySQL abfrage. In einem Integer kann ich leider keine . machen. Wie bekomme ich den String bzw. das Datum aus dem Picker in meinem Command?


string Date = dateTimePicker1.Value.ToString();
mycommand.CommandText  = "SELECT `gewicht`FROM `statistik`WHERE metallart = 'Aluminium' AND Datum = @date";
mycommand.Parameters.Add(new MySqlParameter("@date", MySqlDbType.String)).Value=Date;


Vielen Dank im vorraus für die Hilfe

Manuel