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
. 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
):
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è
) hiermee lastig kom vallen. Screenshot om een idee te krijgen onder aan de post.
Klikkerdeklik voor grotere versie.
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
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
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è
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.
