Visual CSharp .NET - Recorrer un DataGridView de 3 en 3

 
Vista:
Imágen de perfil de eduardo

Recorrer un DataGridView de 3 en 3

Publicado por eduardo (2 intervenciones) el 01/07/2014 16:50:03
AYUDA..!! =)
deseo recorrer un datagridview en c# que es como un arreglo multidimencional(eso creo)
tengo el DGV asi
__________________________________________________________
| Jor1 | Local | Visit | Jor2 | local | visit | Jor3 | Local | Visit | Jor4 | local | visit |
y asi se repite varias veces de 3 en tres...
lo que kiero es recorrerlo de 3 en tres tambien....osea
[0,0][0,1][0,2]
[1,0][1,1][1,2]
[2,0][2,1][2,2]
y despues seguir con
[0,3][0,4][0,5]
[1,3][1,4][1,5]
[2,3][2,4][2,5] cuando llegue a la ultima celda [?,2] entonces cambia a [0,3]
y cuando llegue a la ultima celda [?,5] cambia a [0,6]
y seguir asi

tengo algo asi
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
private void button2_Click(object sender, EventArgs e)
        {
            int r=0, t;
            for (int k = 0; k < dgvJornadas.Rows.Count; k++)
            {
                for (int i = 0; i < dgvJornadas.Columns.Count; i++)
                {
                    if (r == 3)
                    {
                        t = i;
                        if (k != dgvJornadas.Rows.Count)
                        {
                            k++;
                        }
                        i = 0;
                        r = 0;
                    }
                    r++;
                    //[columnas,Filas]
                    MessageBox.Show(dgvJornadas[i, k].Value.ToString() + ": " + i + " - " + k);
                }
            }
        }

me podrian ayudar ... Grax =)
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de eduardo

Recorrer un DataGridView de 3 en 3

Publicado por eduardo (2 intervenciones) el 01/07/2014 22:18:21
encontre una manera de hacerlo por si a alguien mas le sirve o lo nesesita

o por si alguien encuentra alguna otra forma
la verdad yo queria que lo reccorriera hacia abajo ... pero bueno aqui lo recorro hacia la derecha
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
string [] sql = new string[dgvJornadas.Columns.Count/3];
            int hh = 0;
 
            for (int k = 0; k < dgvJornadas.Rows.Count; k++)
            {
                for (int i = 0; i < dgvJornadas.Columns.Count; i++)
                {
                    hh++;
                    if (hh == 1)
                    {
                        sql[k] = sql[k] + " CALL InsertJornada2 (" + dgvJornadas[i, k].Value.ToString() + ", " + this.cmbLiga.SelectedValue.ToString();
 
                    }
                    else
                    {
                        if (hh == 2)
                        {
                            //if (Convert.ToInt32(dgvJornadas[i, k].Value) > TotalJormadas)
                            //{
                            //    sql[k] = sql[k] + ", " + 0 + ");" + Environment.NewLine;
                            //}
                            sql[k] = sql[k] + ", " + dgvJornadas[i, k].Value.ToString();
                            if (Convert.ToInt32(dgvJornadas[i, k].Value) <= TotalJormadas)
                            {
                                dgvJornadas[i, k].Value = DSEquipos.Tables[0].Rows[Convert.ToInt32(dgvJornadas[i, k].Value) - 1][1].ToString();
                            }
                            else
                            {
                                dgvJornadas[i, k].Value = "DESCANZA";
                            }
                        }
                        else
                        {
                            if (hh == 3)
                            {
                                //if (Convert.ToInt32(dgvJornadas[i, k].Value) > TotalJormadas)
                                //{
                                //    sql[k] = sql[k] + ", " + 0 + ");" + Environment.NewLine;
                                //}
                                sql[k] = sql[k] + ", " + dgvJornadas[i, k].Value.ToString() + ");" + Environment.NewLine;
                                hh = 0;
                                if (Convert.ToInt32(dgvJornadas[i, k].Value) <= TotalJormadas)
                                {
                                    dgvJornadas[i, k].Value = DSEquipos.Tables[0].Rows[Convert.ToInt32(dgvJornadas[i, k].Value) - 1][1].ToString();
                                }
                                else
                                {
                                    dgvJornadas[i, k].Value = "DESCANZA";
                                }
                            }
                        }
                    }
                }
            }

ahora estoy intentando cambiar un nuemero
porque cuando es impar otro metodo lo acompleta a par sumando 1
nesesito cambiar ese ultimo numero por un 0 (cero).. hehhe ..
haber si puedo hacerlo... esto para guardarlo a una tabla de mysql...
si no puedo aqui lo hare en el procedimiento mejor hehe
que comparando la liga obtengo el numero de equipos y si el numero de equipo en mayor a este entonces en ves de guardar el que le envie al procedimiento guardare el 0 (cero) hehe

=)
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar