|
Postada em 17/07/2007 16:06 hs
Eu tenho uma tabela principal (T_NS) e nela tem diversos valores cadastrados e para alguns campos a unica tabela que é vinculada á T_NS ( a que eu quero detalhar,) é a que tem vinculos com as demais tabelas. - T_NS.IDExecutor recebe o valor da tabela T_Executor , que tem vinculo com a tabela T_Processo, que tem vinculo com as tabelas: T_ProcessoBase, onde eu faço as combinações dos processos (T_Processo) e (T_Base); T_ProcessoEmpreiteira, onde faço as combinaçoes dos processos (T_Processo) e (T_Empreiteira). Aí é que eu tenho problemas, pois eu preencho um dataset com a tabela T_NS, onde eu acrescentei todas as outras tabelas, criei um DataRelation entre T_Executor e T_Processo, preencho a comboExecutor normalmente e a comboProcesso através do DataRelation criado. Até aí tudo funciona perfeitamente. Mas quando vou fazer o vinculo da T_NS com as combos é que dá zebra. Perguntas: Como e onde vincular o campo da Tabela T_NS ( a que eu quero mostrar) com as combos? Quando e onde eu devo entrar com o DataRelation e popular as combos? Veja o código: Try ds = New DataSet()' Obtenho os dados a partir da classeds.Tables.Add(NotaServ.getNS) ds.Tables.Add(OrgaoEx.getOrgaoExecutor) ds.Tables.Add(Processo.getProcesso) ' Limpo os databindings porque vou chamar esta rotina mais ' de uma vez, e dá erro se eu tentar vincular os textboxes mais' de uma vez sem limpar antes os vínculosMe.txtAlimentador.DataBindings.Clear()Me.txtReligador.DataBindings.Clear()Me.txtSec.DataBindings.Clear()Me.txtChFaca.DataBindings.Clear()Me.txtChFusivel.DataBindings.Clear()Me.txtTrafo.DataBindings.Clear()Me.txtFase.DataBindings.Clear()Me.txtkVA.DataBindings.Clear()Me.txtInformacoes.DataBindings.Clear()Me.cboOrgao.DataBindings.Clear()Me.cboProcesso.DataBindings.Clear() 'Relaciona a tabela T_Executores com T_ProcessoDim colMestre As System.Data.DataColumnDim colDetalhe As System.Data.DataColumncolMestre = ds.Tables( "OrgExec").Columns("NUM_ID_Executor")colDetalhe = ds.Tables( "Processo").Columns("NUM_ID_Executor")ds.Relations.Add( "rel_OrgPro", colMestre, colDetalhe) 'Preencho a combo com os órgãos excutores Me.cboOrgao.DataSource = ds.Tables("OrgExec") Me.cboOrgao.DisplayMember = "SIG_Executor" Me.cboOrgao.ValueMember = "NUM_ID_Executor" 'Preencho a comboProcesso de acordo com o relaciomento ("rel_OrgPro") Me.cboProcesso.DataSource = dsMe.cboProcesso.DisplayMember = "OrgExec.rel_OrgPro.NOM_Processo"Me.cboProcesso.ValueMember = "OrgExec.rel_OrgPro.NUM_ID_Processo" ' Estabeleço os vínculos dos textboxes com a base de dados.Me.txtAlimentador.DataBindings.Add("Text", ds.Tables("NtServ"), "NOM_Alimentador")Me.txtReligador.DataBindings.Add("Text", ds.Tables("NtServ"), "NUM_Religador")Me.txtSec.DataBindings.Add("Text", ds.Tables("NtServ"), "NUM_Seccionalizador")Me.txtChFaca.DataBindings.Add("Text", ds.Tables("NtServ"), "NUM_ChFaca")Me.txtChFusivel.DataBindings.Add("Text", ds.Tables("NtServ"), "NUM_ChFusivel")Me.txtTrafo.DataBindings.Add("Text", ds.Tables("NtServ"), "NUM_Trafo")Me.txtFase.DataBindings.Add("Text", ds.Tables("NtServ"), "NUM_Fase")Me.txtkVA.DataBindings.Add("Text", ds.Tables("NtServ"), "NUM_kVA")Me.txtInformacoes.DataBindings.Add("Text", ds.Tables("NtServ"), "DES_Informacoes") 'Vinculo dos ComboBox AQUI QUE APARECE O ERRO Me.cboOrgao.DataBindings.Add("SelectedValue", ds.Tables("NtServ"), "NUM_ID_Executor") Me.cboProcesso.DataBindings.Add("SelectedValue", ds.Tables("NtServ"), "NUM_ID_Processo") RegAtual() 'registros atual/total Catch ex As Exception 'Erro, mostro na tela. MessageBox.Show(ex.ToString(), "Erro", MessageBoxButtons.OK, MessageBoxIcon.Error)FinallyNotaServ.getNS.Dispose() OrgaoEx.getOrgaoExecutor.Dispose() Processo.getProcesso.Dispose() End Try
|
|
|