private void grdContrato_DragDrop(object sender, DragEventArgs e) { AssociacaoPsa regAssociacaoPsa = e.Data.GetData(typeof(AssociacaoPsa)) as AssociacaoPsa; Point cursorLocation = grdContrato.PointToClient(new Point(e.X, e.Y)); System.Windows.Forms.DataGridView.HitTestInfo hittest = grdContrato.HitTest(cursorLocation.X, cursorLocation.Y); if (hittest.ColumnIndex != -1 && hittest.RowIndex != -1) { if (string.IsNullOrEmpty(regAssociacaoPsa.acompanhamentoContrato)) { Boolean associou = false; regAssociacaoPsa.contratoErpId = (int)grdContrato.Rows[hittest.RowIndex].Cells["contratoErpId"].Value; regAssociacaoPsa.itemContratoErpId = (int)grdContrato.Rows[hittest.RowIndex].Cells["itemContratoErpId"].Value; associou = objNeg.Associar_Contrato_ItemContrato_Acompanhamento_Medicao(strDir, regAssociacaoPsa); grdPsa.CurrentRow.Cells["contratoErpId"].Value = regAssociacaoPsa.contratoErpId; grdPsa.CurrentRow.Cells["itemContratoErpId"].Value = regAssociacaoPsa.itemContratoErpId; if (associou) { MessageBox.Show("Associação realizada com sucesso!"); } } else { MessageBox.Show("Já existe Acompanhamento de Contrato para esse item de PSA!"); } } }
private void btnAssociarContrato_Click(object sender, EventArgs e) { if (grdPsa.Rows.Count > 0) { if (grdContrato.Rows.Count > 0) { if (grdPsa.SelectedRows.Count > 0) { if (grdContrato.SelectedRows.Count > 0) { if (VerificarComplementosSelecionadosPsa() == true) { Boolean associou = false; foreach (DataGridViewRow linha in grdPsa.SelectedRows) { AssociacaoPsa regAssociacaoPsa = listaAssociacaoPsa.Find(x => x.planServicoAmoId == Convert.ToInt32(linha.Cells["planServicoAmoId"].Value)); if (string.IsNullOrEmpty(regAssociacaoPsa.acompanhamentoContrato)) { regAssociacaoPsa.contratoErpId = (int)grdContrato.CurrentRow.Cells["contratoErpId"].Value; regAssociacaoPsa.itemContratoErpId = (int)grdContrato.CurrentRow.Cells["itemContratoErpId"].Value; associou = objNeg.Associar_Contrato_ItemContrato_Acompanhamento_Medicao(strDir, regAssociacaoPsa); grdPsa.Rows[linha.Index].Cells["contratoErpId"].Value = regAssociacaoPsa.contratoErpId; grdPsa.Rows[linha.Index].Cells["itemContratoErpId"].Value = regAssociacaoPsa.itemContratoErpId; } } if (associou) { MessageBox.Show("Associação realizada com sucesso!"); } else { MessageBox.Show("Erro ao associar Contrato!"); } } else { MessageBox.Show("Para associar um Contrato a mais de um item de PSA, todos os Complementos devem ser iguais!"); } } else { MessageBox.Show("É necessário seleciona no mínimo um item no grid Contrato/Item Contrato!"); } } else { MessageBox.Show("É necessário seleciona no mínimo um item no grid PSA!"); } } else { MessageBox.Show("Não existe itens no grid Contrato/Item Contrato!"); } } else { MessageBox.Show("Não existe itens no grid PSA!"); } }
private void grdPsa_MouseDown(object sender, MouseEventArgs e) { if (e.Button == MouseButtons.Left) { DataGridView.HitTestInfo info = grdPsa.HitTest(e.X, e.Y); if (info.RowIndex >= 0) { if (info.RowIndex >= 0 && info.ColumnIndex >= 0) { AssociacaoPsa regAssociacaoPsa = listaAssociacaoPsa.Find(x => x.planServicoAmoId == Convert.ToInt32(grdPsa.Rows[info.RowIndex].Cells["planServicoAmoId"].Value)); if (regAssociacaoPsa.planServicoAmoId != 0) { grdPsa.DoDragDrop(regAssociacaoPsa, DragDropEffects.Copy); } } } } }