Witam serdecznie, na wstępie napiszę, że jestem informatykiem amatorem, który postanowił połączyć pracę z pasją. Zajmuje się handlem internetowym i mam dość sporo do czynienia z plikami CSV. Postanowiłem sobie napisać program do edycji takowych plików. Funkcja działa bez zarzutu, wczytuje dane do datagridview i tu powstaje problem bo moje dane mają po 30 tyś linii w jednym gridzie i STRAAAASZNIE długo to trwa. Bardzo prosze o jakieś sugestie:
To co ma robić kod
- biore wartość z 1 grida i szukam jej w 2
- znalazłem ok, podstaw cene, nie - szukaj nastepnej wartosci
DODAJE: są tu dwa gridy 1 - mój ze sklepu, 2-gi - od klienta
Oto kod:
int model1 = dataGridView1.Columns[comboBox1.Text].Index;
int cena1 = dataGridView1.Columns[comboBox3.Text].Index;
int model2 = dataGridView2.Columns[comboBox4.Text].Index;
int cena2 = dataGridView2.Columns[comboBox6.Text].Index;
int przebieg = dataGridView1.RowCount;
textBox3.Text = przebieg.ToString();
for (int i = 0; i <= dataGridView2.RowCount - 1; i++)
{
string szukana_wartosc = dataGridView2.Rows[i].Cells[model2].Value.ToString().Trim();
for (int y = 0; y <= dataGridView1.RowCount - 1; y++)
{
if (szukana_wartosc == dataGridView1.Rows[y].Cells[model1].Value.ToString().Trim())
{
richTextBox1.Text += "Zmieniono z: " + dataGridView1.Rows[y].Cells[model1].Value.ToString() + " " + dataGridView1.Rows[y].Cells[cena1].Value.ToString() +
" na: " + dataGridView2.Rows[i].Cells[model1].Value.ToString() + " " + dataGridView2.Rows[i].Cells[cena2].Value.ToString() + "\n";
string cena = dataGridView2.Rows[i].Cells[cena2].Value.ToString().Trim();
dataGridView1.Rows[y].Cells[cena1].Value = cena;
break;
}
}
}