Entwickler-Ecke

Multimedia / Grafik - Markierte Zellen ausgeben mit DataGridView....


tomycat - Do 01.09.16 15:25
Titel: Markierte Zellen ausgeben mit DataGridView....
hallo,
Ziel der Geschichte: Ich makiere verschiedene Zeilen und es kommt mir per Messagebox ausgegeben werden.


C#-Quelltext
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:
 private void button65_Click(object sender, EventArgs e)
        {

            Int32 selectedCellCount =  dataGridView5.GetCellCount(DataGridViewElementStates.Selected);
            MessageBox.Show(selectedCellCount.ToString());
            if (selectedCellCount > 0)
            {
                if (dataGridView1.AreAllCellsSelected(true))
                {
                    MessageBox.Show("All cells are selected""Selected Cells");
                }
                else
                {
                    System.Text.StringBuilder sb =
                        new System.Text.StringBuilder();

                    for (int i = 0;
                        i < selectedCellCount; i++)
                    {
                        sb.Append("Row: ");
                        sb.Append(dataGridView1.SelectedCells[i].RowIndex
                            .ToString());
                        sb.Append(", Column: ");
                        sb.Append(dataGridView1.SelectedCells[i].ColumnIndex
                            .ToString());
                        sb.Append(Environment.NewLine);
                    }

                    sb.Append("Total: " + selectedCellCount.ToString());
                    MessageBox.Show(sb.ToString(), "Selected Cells");
                }
            }
        }


Ich makiere verschiedene Zeilen.
Die erste Messagebox ist 1 oder 2 oder.... das passt.
die zweite Messagebox ist IMMMER All cells are selected, egal was ich makiere?!

Moderiert von user profile iconTh69: Titel (leicht) abgeändert.


Delete - Do 01.09.16 16:01

- Nachträglich durch die Entwickler-Ecke gelöscht -


tomycat - Do 01.09.16 17:05

öhhhh, ja.Problem gelöst.


Christian S. - Do 01.09.16 17:16

Woran man mal wieder sieht, wie wichtig sprechenden Variablen- und Komponentennamen sind ;-)


Th69 - Do 01.09.16 20:02

Gerade für solche Dinge lohnt es sich eine (statische) Methode zu erstellen, welche das Control (DataGridView) als Parameter übergeben bekommt. Ist wiederverwend- und testbarer und macht die eigentliche Ereignismethode klein, da nur noch ein Aufruf dadrin steht.