Toon posts:

[C#] Current selected row in Datagridview updaten

Pagina: 1
Acties:

Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Oke, beetje onwennig in dit, voor mij, redelijk onbekende deel van het forum.

Laat ik beginnen met vertellen dat ik pas net begonnen ben met programmeren (de relevante boeken staan reeds in bestelling), dus heel netjes zal het allemaal niet zijn :P . Na veel googlen en GoTten kom ik er maar niet uit.

Dit is het programma wat ik aan het maken ben, het is eigenlijk allemaal heel erg straight forward. In textboxes zet ik de informatie (het is voor iemand die veel online ATC doet in FSX) en door op Add Record of Update Record te klikken voer ik de respectievelijke actie uit. Er zijn nog wat problemen maar daar kom ik zelf nog wel uit. De data word opgeslagen in een locale database, maar dat zien jullie vast zelf wel.

Het probleem (eindelijk :P ):

Als ik op Update Record klik update hij altijd Row 0, logisch want er staat .Rows[0]. Ik wil dus de geselecteerde Row in de DataGridView1 updaten, ik kan alleen nergens vinden hoe ik die [0] kan vervangen voor CurrentRow of iets dergelijks. Heb al heel veel geprobeerd/gezocht maar ik kom er niet uit, vandaar dat ik jullie pro's (even die ego strelen hè :P ) hiermee lastig kom vallen. Screenshot om een idee te krijgen onder aan de post.

code: 5
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Data.SqlClient;
using System.Data.SqlServerCe;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
//START OF BRAKKE CODE//
namespace WindowsFormsApplication1
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }

        //VERKONDIGINGEN
        DataSet ds1;
        System.Data.SqlClient.SqlConnection con;
        System.Data.SqlClient.SqlCommandBuilder cmd;
        System.Data.SqlClient.SqlDataAdapter da;
        string sqlget = "SELECT * FROM fptable";
        //VERKONDIGINGEN


        private void Form1_Load(object sender, EventArgs e)
        {
            con = new System.Data.SqlClient.SqlConnection();
            ds1 = new DataSet();
            da = new System.Data.SqlClient.SqlDataAdapter(sqlget, con);

            con.ConnectionString = "Data Source=.\\SQLEXPRESS;AttachDbFilename=|DataDirectory|\\FD.mdf;Integrated Security=True;User Instance=True";

            //HAAL DATA UIT DATABASE EN PROP ZE IN DATASET (ds1)
            con.Open();

                //MessageBox.Show("Database Connection Opened");

            da.Fill(ds1, "flights");
            NavigateRecords();

            con.Close();

                //MessageBox.Show("Database Connection Closed");

            this.Text = textBox1.Text + " - " + textBox6.Text + " - " + textBox4.Text;

            this.fptableTableAdapter.Fill(this.datasetview.fptable);
        }


        //UPDATE RECORD
        private void button3_Click(object sender, EventArgs e)
        {
            cmd = new System.Data.SqlClient.SqlCommandBuilder(da);
            i

            DataRow dRow = ds1.Tables["flights"].Rows[0];

            dRow[0] = textBox1.Text;
            dRow[1] = textBox2.Text;
            dRow[2] = textBox6.Text;
            dRow[3] = textBox5.Text;
            dRow[4] = textBox4.Text;
            //dRow[10] = richTextBox1.Text;


            //UPDATE
            da.Update(ds1, "flights");

            this.fptableTableAdapter.Fill(this.datasetview.fptable);

            //MessageBox.Show("Record updated");

        }

        //CLEAR BOXES
        private void button4_Click(object sender, EventArgs e)
        {
            ClearTextBoxes(this.Controls);

        }
        //CLEAR BOXES
        private void ClearTextBoxes(Control.ControlCollection cc)
        {
            foreach (Control ctrl in cc)
            {
                TextBox tb = ctrl as TextBox;
                if (tb != null)
                    tb.Clear();
                else
                    ClearTextBoxes(ctrl.Controls);
            }
        }

        //HAAL DATA UIT DATASET (ds1)
        private void NavigateRecords()
        {
            //HAAL DATA UIT DATASET (ds1) EN PROP IN BOXES/CHECKERS
            DataRow dRow = ds1.Tables["flights"].Rows[0];
            textBox1.Text = dRow.ItemArray.GetValue(0).ToString();
            textBox2.Text = dRow.ItemArray.GetValue(1).ToString();
            textBox3.Text = dRow.ItemArray.GetValue(0).ToString();
            textBox6.Text = dRow.ItemArray.GetValue(2).ToString();
            textBox5.Text = dRow.ItemArray.GetValue(3).ToString();
            textBox4.Text = dRow.ItemArray.GetValue(4).ToString();
            //richTextBox1.Text = dRow.ItemArray.GetValue(10).ToString();


            //HAAL PRIMARY KEY//
            dRow.ItemArray.GetValue(11);
            //HAAL PRIMARY KEY//
        }


        //FROT NIEUW RECORD IN DATABASE EN VERNIEUW DBVIEWER
        private void button2_Click(object sender, EventArgs e)
        {
            System.Data.SqlClient.SqlCommandBuilder cmd;
            cmd = new System.Data.SqlClient.SqlCommandBuilder(da);

            DataRow dRow = ds1.Tables["flights"].NewRow();
            dRow[0] = textBox1.Text;
            dRow[1] = textBox2.Text;
            dRow[2] = textBox6.Text;
            dRow[3] = textBox5.Text;
            dRow[4] = textBox4.Text;
            //dRow[10] = richTextBox1.Text;

            //HAAL PRIMARY KEY//
            dRow.ItemArray.GetValue(11);
            //HAAL PRIMARY KEY//

            ds1.Tables["flights"].Rows.Add(dRow);

            da.Update(ds1, "flights");

            MessageBox.Show("Added succesfully");

            this.fptableTableAdapter.Fill(this.datasetview.fptable);
        
        }

        private void dataGridView1_CellContentClick(object sender, DataGridViewCellEventArgs e)
        {
            textBox1.Text = dataGridView1.CurrentRow.Cells["flightnumberDataGridViewTextBoxColumn"].Value.ToString();
            textBox2.Text = dataGridView1.CurrentRow.Cells["aircrafttypeDataGridViewTextBoxColumn"].Value.ToString();
            textBox3.Text = dataGridView1.CurrentRow.Cells["flightnumberDataGridViewTextBoxColumn"].Value.ToString();
            textBox6.Text = dataGridView1.CurrentRow.Cells["departureDataGridViewTextBoxColumn"].Value.ToString();
            textBox5.Text = dataGridView1.CurrentRow.Cells["arrivalDataGridViewTextBoxColumn"].Value.ToString();
            textBox4.Text = dataGridView1.CurrentRow.Cells["flightlevelDataGridViewTextBoxColumn"].Value.ToString();
            //richTextBox1.Text = dataGridView1.CurrentRow.Cells["notesDataGridViewTextBoxColumn"].Value.ToString();
        }
    }
}


//END OF BRAKKE CODE//


Klikkerdeklik voor grotere versie.
Afbeeldingslocatie: http://false87.homeip.net/screenshottumb.jpg

Acties:
  • 0 Henk 'm!

  • HawVer
  • Registratie: Februari 2002
  • Laatst online: 13-09 16:51
Als je nou eerst eens de broodnodige informatie tot je neemt. Hier staan een aantal webcasts in over data access en hoe je moet werken met bindingsources etc. Is in Visual Basic, maar de concepten zijn hetzelfde.
http://msdn.microsoft.com/en-us/vbasic/cc895609.aspx

[ Voor 11% gewijzigd door HawVer op 13-03-2009 16:22 ]

http://hawvie.deviantart.com/


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
HawVer schreef op vrijdag 13 maart 2009 @ 16:21:
Als je nou eerst eens de broodnodige informatie tot je neemt. Hier staan een aantal webcasts in over data access en hoe je moet werken met bindingsources etc. Is in Visual Basic, maar de concepten zijn hetzelfde.
http://msdn.microsoft.com/en-us/vbasic/cc895609.aspx
Ik dank u. *Neemt bak popcorn*.

EDIT

*FalSe bedankt HawVer voor de tik op zijn vingers en heeft het werkend*

Hoe makkelijk kan iets zijn. Voor het nageslacht: volg de link en je hebt het zo aan de gang!

[ Voor 17% gewijzigd door Verwijderd op 13-03-2009 19:02 ]


Acties:
  • 0 Henk 'm!

  • HawVer
  • Registratie: Februari 2002
  • Laatst online: 13-09 16:51
:P Graag gedaan.

http://hawvie.deviantart.com/