Autor Beitrag
nav93 Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 41



BeitragVerfasst: Mo 05.12.16 19:02 
das hatte ich vorhin auch probiert , also wie du es da stehen hast. doch es gab immer eine fehlermeldung :

ausblenden C#-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
foreach (DataGridViewRow row in dataGridView1.SelectedRows)
            {

                for (int j = 0; j < dataGridView1.Columns.Count; j++)
                {
                    table.AddCell(new Phrase(dataGridView1.Columns[j].HeaderText));
                }

                table.HeaderRows = 1;

                
                {
                    for (int k = 0; k < dataGridView1.Columns.Count; k++)
                    {
                            if (row[k].Value != null)
                            {
                            table.AddCell(new Phrase(dataGridView1[k, i].Value.ToString()));
                        }
                    }



Fehlermeldung :

ausblenden C#-Quelltext
1:
indizierung mit[] kann nicht auf einen ausdruck von Typ "DataGridView" angewendet werden					
Ralf Jansen
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 4700
Erhaltene Danke: 991


VS2010 Pro, VS2012 Pro, VS2013 Pro, VS2015 Pro, Delphi 7 Pro
BeitragVerfasst: Mo 05.12.16 19:03 
user profile iconFrühlingsrolle hat folgendes geschrieben Zum zitierten Posting springen:
Ich hoffe dass ich diese Entscheidung nicht bereue und du dadurch etwas lernst.


... vermutlich gleich ja.

Zitat:
ausblenden C#-Quelltext
1:
int Zeile = dataGridView1.SelectedRows;					


SelectedRows ist eine Collection von DataGridViewRow, eben der selektierten. Kein Index oder irgendwie sowas.

Zitat:
ausblenden C#-Quelltext
1:
2:
3:
4:
5:
for (int i = 0; i < dataGridView1.Columns.Count; i++)
{
    table.AddCell(new Phrase(dataGridView1.Columns[i].HeaderText));
    table.AddCell(new Phrase(dataGridView1.Rows[Zeile].Columns[i].Value.ToString()));
}


Man möchte sicher nicht abwechselnd eine Headerzelle und eine Datenzelle sondern erst alle Header und eine Row später alle Daten Zellen.
Frühlingsrolle
Ehemaliges Mitglied
Erhaltene Danke: 1



BeitragVerfasst: Mo 05.12.16 19:09 
- Nachträglich durch die Entwickler-Ecke gelöscht -
Ralf Jansen
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 4700
Erhaltene Danke: 991


VS2010 Pro, VS2012 Pro, VS2013 Pro, VS2015 Pro, Delphi 7 Pro
BeitragVerfasst: Mo 05.12.16 19:11 
row[k].Value sollte row.Cells[k].Value sein.
Th69
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Moderator
Beiträge: 4764
Erhaltene Danke: 1052

Win10
C#, C++ (VS 2017/19/22)
BeitragVerfasst: Mo 05.12.16 19:50 
Hallo Frühlingsrolle,

dataGridView1.SelectedRows gibt aber eine Liste von Rows zurück, keinen einzelnen Wert ;-)

Edit: ups, etwas spät - das kommt davon wenn man zwischendrin sich etwas zu Essen macht.


@Ralf: stimmt, ändere ich...
nav93 Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 41



BeitragVerfasst: Mo 05.12.16 21:07 
hab s einfach nicht hinbekommen den ganzen tag :d ziemlich mies ^^ danke aber für die hilfe . ich überleg mir das irgenwie zu umgehen
Frühlingsrolle
Ehemaliges Mitglied
Erhaltene Danke: 1



BeitragVerfasst: Mo 05.12.16 22:53 
- Nachträglich durch die Entwickler-Ecke gelöscht -

Für diesen Beitrag haben gedankt: nav93