Zum Inhalt springen

Termi

Mitglieder
  • Gesamte Inhalte

    45
  • Benutzer seit

  • Letzter Besuch

Beiträge von Termi

  1. Eigentlich nur, dass sie (wie die Mehrzahl ihrer Kollegen eben auch) ihren Job anständig erledigen.

    Und dann schlägt mal wieder solch ein Trampel dazwischen und befördert das Klischee :upps

    ;) Das es ein Klischee ist weiß ich doch, das Problem ist nur das es leider zu oft zutrifft :P

    Natürlich gibt es auch genug Beamte die ihren Job super erledigen, aber es wäre doch langweilig über die zu lästern :P

    z.B. war gestern selber beim Finanzamt und musste garnicht lange warten, kam dran und nach 5 Minuten konnte ich wieder gehen, weil alles super lief. :)

    EDIT: Moin crown

  2. soo habe wie im obigen beitrag erwähnt mich an dem Beispiel Code von Mark Rideout gehängt, jedoch die Paint methode von einem anderen User genommen (Damit es wie ne echte PGBar aussieht^^). Ich mache es jetzt so das ich mir die Werte gleich beim Statement berechnen lasse und mir die Prozentzahl wiedergebe (also Datengebunden). Hier mal der code der beiden Klassen:

    Klasse1:

    using System;
    
    using System.Windows.Forms;
    
    using System.Drawing;
    
    using System.ComponentModel;
    
    
    namespace DBSessions
    
    {
    
        class DataGridViewProgressCell : DataGridViewImageCell 
    
        {
    
            // Used to make custom cell consistent with a DataGridViewImageCell
    
            static Image emptyImage;
    
            static DataGridViewProgressCell()
    
            {
    
                emptyImage = new Bitmap(1, 1, System.Drawing.Imaging.PixelFormat.Format32bppArgb);
    
            }
    
            public DataGridViewProgressCell()
    
            {
    
                this.ValueType = typeof(int);
    
            }
    
    
            // Method required to make the Progress Cell consistent with the default Image Cell.
    
            // The default Image Cell assumes an Image as a value, although the value of the Progress Cell is an int.
    
            protected override object GetFormattedValue(object value,
    
                                int rowIndex, ref DataGridViewCellStyle cellStyle,
    
                                TypeConverter valueTypeConverter,
    
                                TypeConverter formattedValueTypeConverter,
    
                                DataGridViewDataErrorContexts context)
    
            {
    
                return emptyImage;
    
            }
    
    
            protected override void Paint(System.Drawing.Graphics g, System.Drawing.Rectangle clipBounds, System.Drawing.Rectangle cellBounds,
    
                int rowIndex, DataGridViewElementStates cellState, object value, object formattedValue, string errorText,
    
                DataGridViewCellStyle cellStyle, DataGridViewAdvancedBorderStyle advancedBorderStyle, DataGridViewPaintParts paintParts)
    
            {
    
                int progressVal;
    
                if (value != null)
    
                {
    
                    progressVal = (int)value;
    
                }
    
                else
    
                {
    
                    progressVal = 1;
    
                }
    
    
                float percentage = ((float)progressVal / 100.0f); 
    
    
                Brush backColorBrush = new SolidBrush(cellStyle.BackColor);
    
    
                Brush foreColorBrush = new SolidBrush(cellStyle.ForeColor);
    
    
                // Draws the cell grid
    
    
                base.Paint(g, clipBounds, cellBounds, rowIndex, cellState, value, formattedValue, errorText, cellStyle, advancedBorderStyle, (paintParts & ~DataGridViewPaintParts.ContentForeground));
    
    
                const int margin = 4;
    
    
                ProgressBar pb = new ProgressBar();
    
    
                pb.Height = cellBounds.Bottom - cellBounds.Top - (margin * 2);
    
    
                pb.Width = cellBounds.Right - cellBounds.Left - (margin * 2);
    
    
                pb.Value = progressVal;
    
    
                Bitmap bmp = new Bitmap(pb.Width, pb.Height);
    
    
                pb.DrawToBitmap(bmp, pb.ClientRectangle);
    
    
                g.DrawImage(bmp, new Point(cellBounds.X + margin, cellBounds.Y + margin));
    
    
            }
    
        }
    
    }
    Klasse2:
    using System.Windows.Forms;
    
    
    namespace Sample{
    
        public class DataGridViewProgressColumn : DataGridViewImageColumn
    
        {
    
            public DataGridViewProgressColumn()
    
            {
    
                CellTemplate = new DataGridViewProgressCell();
    
            }
    
        }
    
    }

  3. OK dann führe ich es ein wenig genauer aus.

    Also, ich bin immoment dabei ein Programm zu schreiben welches die Sessions einer Oracle-Datenbank anzeigt.(Grob gesagt)

    Ich möchte nun bei Langzeitprozessen eine ProgressBar anzeigen wielange diese noch dauern.

    Herauszufinden welche Langops. sind und welche nicht, mache ich im Programm noch aber ich weiß nicht wie ich nun eine/mehrere ProgressBars ins GridView kriege.

    Ich glaube ich hab mal gelesen das man nen Array machen kann (anzahl muss gleich sein der Rows die man hat) und diesen dann einfach "einfügen" kann.

    Hoffe das hilft ein wenig.

  4. Ist es möglich unter Visual C# (VS2010) eine ProgressBar in ein DataGridView einzubinden und diese dann Individuell nach Spalte zu "Kontrollieren"?

    ----------------------------------------------------------------------------

    Danke schonmal für eure Antworten

  5. sry für die vielen posts x.x bei mir hat das grad bissl rumgespackt hier,

    kannst dir die ja ausdrucken wenn du die möglichkeit hast, so habe ich das gemacht. Fand es auch doof dann auchnoch vorm Rechner die zu lesen^^

  6. Habe das Problem gefunden, bei dem Befehl der zu Oracle geschickt wird darf kein ";" am Ende des Befehls kommen... es müsste also wiefolgt heißen:

    String sql = "ALTER SYSTEM KILL SESSION '?,?'";
    
    
    OracleCommand cmd = new OracleCommand(sql,con);
    
                cmd.Parameters.Add("@SID", OracleType.Int32).Value = sid;
    
                cmd.Parameters.Add("@Serial", OracleType.Int32).Value = serial;
    
    
    OracleDataAdapter da = new OracleDataAdapter(cmd);
    
                da.Fill(dat_Session, "Sessions");
    
    

    Grüße

  7. Hey, ich arbeite momentan an einem Projekt für ein Unternehmen.

    Dort wird Oracle als DBMS eingesetzt.

    Soweit so gut, ich habe nun eine Verbindung zur OracleDB aufgebaut und hole mir da alle momentan laufenen Sessions mit dem Befehl:

    SELECT * FROM v$session;
    Der Befehl zum killen ist mir auch klar:
    ALTER SYSTEM KILL SESSION 'SessionID,Serial'
    Meine Frage ist jetzt wie ich das an die Datenbank schicke...? Bei mir steht bisher folgendes:(übergabe Parameter sind: das Dataset mit den Sessions, die SessionID und die Serial)
    
    String sql = "ALTER SYSTEM KILL SESSION '?,?';";
    
    
    OracleCommand cmd = new OracleCommand(sql,con);
    
                cmd.Parameters.Add("@SID", OracleType.Int32).Value = sid;
    
                cmd.Parameters.Add("@Serial", OracleType.Int32).Value = serial;
    
    
    OracleDataAdapter da = new OracleDataAdapter(cmd);
    
                da.Fill(dat_Session, "Sessions");
    
    

    Muss ich das mit der Fill() Methode machen? Oder muss ich die Update() Methode aufrufen? Oder ist mein Ansatz komplett falsch?

    Danke schonmal im Vorraus,

    Grüße

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...