I-NOZex Posted July 12, 2012 at 02:23 PM Report Share #468486 Posted July 12, 2012 at 02:23 PM Preciso que alguem ajude a criar um codigo (ou a melhorar) para verificar se os valores de uma coluna especifica na 1a datagridview, existem numa outra coluna especificada na 2a datagridview Se nao existir na 2a, ele tem de apagar a linha. actualmente tenho este código: int[] row_to_del = new int[dtgrid2.Rows.Count]; if ((dtgrid1.RowCount > 0) && (dtgrid2.RowCount > 0)) { int col_id = Convert.ToInt32(nif_doc1.Value); int col_id2 = Convert.ToInt32(nif_doc2.Value); foreach (DataGridViewRow row in this.dtgrid1.Rows) { DataGridViewCell cell = row.Cells[col_id]; foreach (DataGridViewRow row2 in this.dtgrid2.Rows) { DataGridViewCell cell2 = row2.Cells[col_id2]; if ((Convert.ToString(cell.Value).Length > 0) && (Convert.ToString(cell.Value) == Convert.ToString(cell2.Value))) { row_to_del[row2.Index] = 1; } else if (row_to_del[row2.Index] != 1) { row_to_del[row2.Index] = 0; } } } for (int i = dtgrid2.Rows.Count-1; i >= 0; i--) { if (row_to_del[i] == 0) { if (dtgrid2.Rows.IsNewRow) continue; dtgrid2.Rows.Remove(dtgrid2.Rows); } } btn_export.Enabled = true; exportarToolStripMenuItem.Enabled = true; Mas a nível de memória não é eficaz pois ultrapassa os 3GB de ram consumida (pois a 2a datagrid tem um ficheiro de excel com mais de 400mil linhas) Sugestões? Precisava disso o mais rápido possível, já começam a apertar comigo :s B2R » Beat2Revolution v3.0b | Regista e divulga-nos beat2revolution.net Link to comment Share on other sites More sharing options...
pmg Posted July 12, 2012 at 02:56 PM Report Share #468489 Posted July 12, 2012 at 02:56 PM (edited) Ordena os primeiros e os segundos valores e, em vez de teres um ciclo dentro do ciclo ( O(n^2) ) vais avançando na primeira e segunda coluna à medida das necessidades ( O(n) ). Edit Então e a ordenação propriamente dita? LOL O resultado final é O(n log(n)). Edited July 13, 2012 at 11:46 AM by pmg 1 Report What have you tried? Não respondo a dúvidas por PM A minha bola de cristal está para compor; deve ficar pronta para a semana. Torna os teus tópicos mais atractivos e legíveis usando a tag CODE para colorir o código! Link to comment Share on other sites More sharing options...
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now