Καλώς ορίσατε στο dotNETZone.gr - Σύνδεση | Εγγραφή | Βοήθεια
σε

 

Αρχική σελίδα Ιστολόγια Συζητήσεις Εκθέσεις Φωτογραφιών Αρχειοθήκες

Εμφάνιση μιας νέας φόρμας επιλέγοντας ένα row από ένα DataGridView.

Îåêßíçóå áðü ôï ìÝëïò Panos.C#. Τελευταία δημοσίευση από το μέλος KelMan στις 08-04-2009, 08:44. Υπάρχουν 4 απαντήσεις.
Ταξινόμηση Δημοσιεύσεων: Προηγούμενο Επόμενο
  •  07-04-2009, 15:23 49927

    Εμφάνιση μιας νέας φόρμας επιλέγοντας ένα row από ένα DataGridView.

    Μια ερώτηση γιατί έχω κολήσεις εδώ και πολλές ώρες.

    Έχω ένα dataviewgrid που φέρνω κάποια δεδομένα. Θέλω κάνοντας κλικ να ανοίγω μια νέα φόρμα με τα στοιχεία της row που έχω επιλέξει. Ένα παράδειγμα ρε παιδιά.

    Ξέρω ότι πρέπει να προσδιορίσω την row με μια μεταβλητή και το κάνω αλλά απο εκεί και πέρα έχω κολήσεις πολύ άσχημα.

    ΒΟΗΘΕΙΑ!!!!!


    breadcrumbs.gr
  •  07-04-2009, 16:12 49928 σε απάντηση της 49927

    Απ: Εμφάνιση μιας νέας φόρμας επιλέγοντας ένα row από ένα DataGridView.

    Ένας τρόπος είναι να περάσεις ως παραμέτρους στην άλλη φόρμα τα Values του DataGridView.

    Ο άλλος είναι να περάσεις το id μόνο και να κάνεις select μέσα στην άλλη φόρμα ώστε να πάρεις τα data. Παρακάτω φαίνονται αυτοί οι τρόποι:

    1ος

    // Στη main form όπου υπάρχει το dataGridView
    using (form2 f = new form2(dataGridView1["columnName1", rowIndex].Value.ToString(), dataGridView1["columnName2", rowIndex].Value.ToString()))
    {
        f.ShowDialog();
    }
    
    //Στo costructor της form2
    public form2(string field1, string field2)
    {
        // ας υποθέσουμε ότι περνάς τις τιμές σε textboxes
        textBox1.Text = field1;
        textBox2.Text = field2;
    }

    2ος

    // Στη main form όπου υπάρχει το dataGridView
    using (form2 f = new form2(Convert.ToInt32(dataGridView1["columnId", rowIndex].Value)))
    {
        f.ShowDialog();
    }
    
    //Στo costructor της form2
    public form2(int idField)
    {
        // select από τη βάση - where id = idField
        // και,
        // παίρνεις με κάποιο List (ArrayList, List<T>) τις τιμές από τα field που θέλεις
    }
  •  07-04-2009, 16:57 49929 σε απάντηση της 49927

    Απ: Εμφάνιση μιας νέας φόρμας επιλέγοντας ένα row από ένα DataGridView.

    Αν έχεις ID στην 1η στήλη δεδομένων και Ονομα στην 2η στήλη του Datagridview(παράδειγμα δίνω) κάνε το εξής:

    int ID =int.Parse(Datagridview.SelectedRow[0].Cells[0].Value.ToString();
    string Onoma = Datagridview.SelectedRow[0].Cells[1].Value.ToString()

    NewForm frm = newForm(ID,Onoma);
    frm.showdialog;

    Πας στο Newform τώρα και την κάνεις overload.Δηλαδή:

    public partial class Νewform : Form
        {
            string connectionstring = @"onoma tou SQL express instance";
            int _ID;
            string _Onoma;
          

            public Newform()
            {
                InitializeComponent();
            }

            public Newform(int ID, string Onoma)
            {
                _ID = ID;
                _Onoma = Onoma;
        

                InitializeComponent();
          
            }

    Με αυτό τον τρόπο έχεις περάσει από την προηγούμενη φόρμα σου με inheritance τα ορίσματα που θέλεις στην νεα φόρμα.Και τωρα μπορείς να τα εμφανίσεις όπου θες στην νέα φόρμα(label text datagridview klp)



    Knowing is not enough , you must apply.
    Willing is not enough , you must do.
  •  07-04-2009, 17:04 49930 σε απάντηση της 49929

    Απ: Εμφάνιση μιας νέας φόρμας επιλέγοντας ένα row από ένα DataGridView.

    Βασικά Pap είπαμε το ίδιο με άλλα λόγια :P

    Knowing is not enough , you must apply.
    Willing is not enough , you must do.
  •  08-04-2009, 08:44 49941 σε απάντηση της 49930

    Απ: Εμφάνιση μιας νέας φόρμας επιλέγοντας ένα row από ένα DataGridView.

    Έχουμε ξανακουβεντιάσει το θέμα εδώ κι εδώ. Γενικά είναι πολύ πιο πρακτικό να μην αναφέρεσαι στα controls της φόρμας όταν θες να πάρεις πληροφορίες για την επιλεγμένη εγγραφή. Χρησιμοποιούμε το BindingSource. Δες αυτό για να πάρεις μια ιδέα πώς χρησιμοποιείται http://windowsclient.net/blogs/faqs/archive/2006/07/12/what-is-a-bindingsource-and-why-do-i-need-it.aspx 


    Vir prudens non contra ventum mingit
Προβολή Τροφοδοσίας RSS με μορφή XML
Με χρήση του Community Server (Commercial Edition), από την Telligent Systems