Permalänk
Medlem

C# Kryptera i DataGridView

Hejsan.

Jag har en DataGridView där en av kolumnerna innehåller krypterad data som visas avkrypterat.
Alltså om värdet i databasen t.ex. är kFajfjGIREJENsvedaf så visas det avkrypterat som 1234.

Det är inga problem att visa värdena avkrypterat med CellFormatting:

private void dataGridView1_CellFormatting(object sender, DataGridViewCellFormattingEventArgs e) { if (e.ColumnIndex == 2 && e.RowIndex != this.dataGridView1.NewRowIndex) //välj alla värden i col 2 { e.Value = GetDec(e.Value.ToString()); //GetDec hämtar det krypterade värdet och visar det avkrypterade } }

Men hur gör jag så att jag kan ändra värdet i cellerna, alltså skriva in ett okrypterat värde men det krypteras så fort jag trycker enter.
Det mest logiska i min mening borde det vara i CellValueChanged. Men jag får inte det att funka riktigt.

Hoppas jag var tydlig :/

Mvh

Visa signatur

ASUS X99 Deluxe II | Intel i7 6850K 3.6 GHz | 2 x GTX 1080 Strix | 4 x Corsair 8 GB DDR4 3000 MHz CL15 Vengeance | Samsung 850 Evo 500 GB | OCZ Vertex 4 128 GB | Western Digital 2 TB

Permalänk
Medlem

Det borde fungera om du gör likt detta exemplet. Skapa en prenumeration på fältet/en i datagriden där du sedan kör den funktion du vill när man trycker på enter

Permalänk
Medlem

private void dataGridView1_CellValueChanged(object sender, DataGridViewCellEventArgs e) { //MessageBox.Show("Funkar cellvaluechanged"); int cellCol = dataGridView1.CurrentCell.ColumnIndex; int cellRow = dataGridView1.CurrentCell.RowIndex; dataGridView1.Rows[cellRow].Cells[cellCol].Value = dataGridView1.Rows[cellRow].Cells[cellCol].Value.ToString() + "Test"); //Varför kan jag inte modifiera ursprungsvärdet i cellen? }

Vad gör jag för fel?

Visa signatur

ASUS X99 Deluxe II | Intel i7 6850K 3.6 GHz | 2 x GTX 1080 Strix | 4 x Corsair 8 GB DDR4 3000 MHz CL15 Vengeance | Samsung 850 Evo 500 GB | OCZ Vertex 4 128 GB | Western Digital 2 TB