private void MarcaPerfilMenu(int? idPerfil) { DataTable dtPerfilMenuTela = null; DataTable dtPerfilMenuBanco = null; rPerfilMenu regraPerfilMenu = null; try { regraPerfilMenu = new rPerfilMenu(); int idMenuTela, idMenuBanco; dtPerfilMenuBanco = regraPerfilMenu.BuscaPerfilMenu(idPerfil); dtPerfilMenuTela = (DataTable)dgMenu.DataSource; for (int linhaTela = 0; linhaTela < dtPerfilMenuTela.Rows.Count; linhaTela++) { // desmarca este menu para limpar o controle this.dgMenu["hSelecionar", linhaTela].Value = false; idMenuTela = Convert.ToInt32(dtPerfilMenuTela.Rows[linhaTela]["id_menu"]); for (int linhaBanco = 0; linhaBanco < dtPerfilMenuBanco.Rows.Count; linhaBanco++) { idMenuBanco = Convert.ToInt32(dtPerfilMenuBanco.Rows[linhaBanco]["id_menu"]); if (idMenuBanco == idMenuTela) { // marca este menu pois foi localizado no banco this.dgMenu["hSelecionar", linhaTela].Value = true; } } } } catch (Exception ex) { throw ex; } finally { regraPerfilMenu = null; dtPerfilMenuTela = null; dtPerfilMenuBanco = null; } }