bioshock Posted May 23, 2009 at 04:10 PM Report #266768 Posted May 23, 2009 at 04:10 PM Boas, cá estou eu novamente para mais uma dúvida. Bem é o seguinte, eu exporto uma tabela para o VB em modo Detalhe (Details). Depois, mudifico por exemplo a Textbox Parentesco para ComboBox. Nessa ComboBox vou querer que apareça (Tio, Mae, Avo) - Que já está definido na BD. O problema é que, apareçe-me sempre o número em vez do texto. Do género, em vez de "Tio" apareçe-me "1", em vez de "Mãe" apareçe "2"... No DataBound Items tenho o seguinte: Data Source: ParentescoBindingSource Display Member: Descrição Value Member: CodigoParentesco Selected Value: PessoasBindingSource - Parentesco Já dei mil voltas a isto, já troquei, voltei a trocar, troquei novamente..etc. Mas não consegui nada. Caso não dê, e alguém saiba fazer via código, agradecia que me dissessem. Obrigado
bioshock Posted May 23, 2009 at 04:31 PM Author Report #266774 Posted May 23, 2009 at 04:31 PM Ninguém? Preciso mesmo disto :|
Guest PauloR Posted May 23, 2009 at 04:36 PM Report #266777 Posted May 23, 2009 at 04:36 PM Porque não crias logo a ComboBox e carregas os dados directamente da Tabela? Tens aqui um exemplo: VB.NET: Utilizando o controlo ComboBox
bioshock Posted May 23, 2009 at 04:59 PM Author Report #266779 Posted May 23, 2009 at 04:59 PM Antes de mais obrigado, eis o que não percebo / Não sei o que fazer ' Select Statement que irá mostrar todos os vendedores activos, ' excepto o vendedor que será definido no parâmetro Dim SQL As String = "SELECT * FROM Vendedores WHERE activo = ? AND vendedor <> ?" da.SelectCommand.Parameters.Add("activo", OleDbType.Boolean).Value = True da.SelectCommand.Parameters.Add("vendedor", OleDbType.VarChar).Value = "Jorge Paulino" Vendedores? Activo?
Guest PauloR Posted May 23, 2009 at 05:16 PM Report #266784 Posted May 23, 2009 at 05:16 PM Pelo que percebi tens os dados numa tabela correcto? Qual o campo da tabela que vai aparecer na ComboBox?
bioshock Posted May 23, 2009 at 05:17 PM Author Report #266785 Posted May 23, 2009 at 05:17 PM Correctissimo. O Campo é o "Descrição" porque lá depois tem 3 opções (Tio,Avo e Mae).
Guest PauloR Posted May 23, 2009 at 05:28 PM Report #266786 Posted May 23, 2009 at 05:28 PM Correctissimo. O Campo é o "Descrição" porque lá depois tem 3 opções (Tio,Avo e Mae). Usando o exemplo do JPaulino ... Como vi que tinhas numeros vou partir do principio que cada uma das opcoes tem um código e que o campo chama-se ID e que a tabela não tem mais campos A ConnectString é para uma base de dados em Access 2003 Try dim CnnString as String = "Dim CnnString As String = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=c:\BaseDados.mdb;User Id=admin;Password=;"" Using connection As New OleDbConnection(CnnString) Dim SQL As String = " SELECT * FROM nomedatabela" Dim DA As New OleDbDataAdapter(SQL, connection) Dim DS As New DataSet DA.Fill(DS) With cbo_MOB_Brand .DisplayMember = "Descrição" .ValueMember = "ID" .DataSource = DS.Tables(0).DefaultView .DropDownStyle = ComboBoxStyle.DropDown .AutoCompleteMode = AutoCompleteMode.Suggest .AutoCompleteSource = AutoCompleteSource.ListItems End With ' Seleciona o primeiro registo NomedaComboBox.SelectedIndex = 0 End Using Catch ex As Exception MessageBox.Show(ex.Message, My.Application.Info.Title, MessageBoxButtons.OK, MessageBoxIcon.Error) End Try Assim já percebes ?
bioshock Posted May 23, 2009 at 05:32 PM Author Report #266788 Posted May 23, 2009 at 05:32 PM Eu acho que já tentei isso..mas vou experimentar. Uma coisa, basta apenas inserir esse código? Ou ainda tem mais? Obrigado pela ajuda.
Guest PauloR Posted May 23, 2009 at 05:46 PM Report #266790 Posted May 23, 2009 at 05:46 PM Eu acho que já tentei isso..mas vou experimentar. Uma coisa, basta apenas inserir esse código? Ou ainda tem mais? Obrigado pela ajuda. Basta isto e podes colocar dentro de uma função e chama-la no OpenForm por exemplo Se precisares do valor do campo ID é: NomedaComboBox.SelectedValue.ToString
bioshock Posted May 23, 2009 at 05:53 PM Author Report #266791 Posted May 23, 2009 at 05:53 PM Boas, fiz como tu disseste e até apareceram lá os dados na Combobox. O problema é que ela não interage com a DataGrid/Details. Ou seja, só está preenchida, não faz nada.
Guest PauloR Posted May 23, 2009 at 06:02 PM Report #266792 Posted May 23, 2009 at 06:02 PM Boas, fiz como tu disseste e até apareceram lá os dados na Combobox. O problema é que ela não interage com a DataGrid/Details. Ou seja, só está preenchida, não faz nada. Só agora falas numa datagrid B) O exemplo é para uma simples ComboBox... Vê este artigo do JPaulino: http://vbtuga.blogspot.com/2008/06/vbnet-dicas-de-programao-5.html Tens muita informação do Blog do JPaulino é melhor dares uma vista de olhos por lá ...
bioshock Posted May 23, 2009 at 06:24 PM Author Report #266794 Posted May 23, 2009 at 06:24 PM Bem, já consegui resolver , não foi preciso programar, nem nada do género. Era apenas um detalhe. Se alguém tiver interesse em saber o que tem que se fazer, que poste aqui. PauloR, obrigado pela tua disponibilidade em ajudar-me. Cumprimentos. 😁
duduml Posted May 23, 2009 at 06:51 PM Report #266799 Posted May 23, 2009 at 06:51 PM eu estou interessado... B) CUMPS "use windows, você merece!"
bioshock Posted May 23, 2009 at 07:55 PM Author Report #266809 Posted May 23, 2009 at 07:55 PM eu estou interessado... B) CUMPS Ok, antes de mais, tens de ter uma BD com relações, eu apenas vou fazer de exemplo uma relação, para que seja mais simples te explicar. Tabela Clientes e Tabela Código de Postal. Fazes a relação, vais ao VB fazes todo o procedimento, via SQL, para por a funcionar no VB as tabelas. Irá te aparecer duas Tabelas no "DATA SOURCES" (junto do Solution Explorer) - Tabela Clientes e Tabela Código Postal. Presumo que tenhas todos os campos correctos, portanto, na Tabela Código Postal, terás estes campos: CodPostal (Por exemplo) Descrição (Por exemplo) * Digo "Por exemplo" porque isto é à escolha da pessoa. E terás também, outra tabela (Por dentro da Código Postal), chamada Clientes. Resumindo, terás duas Tabelas Clientes. Para por a interagir o Código Postal com a Tabela Clientes, terás de fazer o seguinte: Copias a 1ª Tabela dos Clientes (Sem ser aquela q está dentro do Código Postal), para o Form (Em modo Detalhe) Depois expandes o Código Postal e clicas no Campo " Descrição ", escolhes " ComboBox " e copias para o Form. Feito isto, vais à ComboBox que puseste no Form, clicas na setinha da mesma, e seleccionas a opção: " Use Data Bound Items " Feito isto, é bastante simples, vamos supor que tu queres ver o Código Postal de cada Cliente em ComboBox. Data Source: CodigoPostalBindingSource Display Member: Descrição Value Member: CodPostal Selected Value: ClientesBindingSource » Codigo Postal É só isto, corres o programa e está a funcionar 🙂 * Este procedimento apenas é feito em Modo Details (Detalhes), caso desejes fazer isto com uma DataGrid, adicionas a DataGrid, Editas as Colunas, poems o Código Postal como ComboBox, e metes os mesmos termos que te disse anteriormente: Data Source: CodigoPostalBindingSource Display Member: Descrição Value Member: CodPostal Selected Value: ClientesBindingSource » Codigo Postal Espero ter ajudado, cumprimentos. 😁
duduml Posted May 23, 2009 at 09:17 PM Report #266816 Posted May 23, 2009 at 09:17 PM e com um datagridview???? :S é que o meu programa esta feito só com datagridview ( a parte da consulta) e não da para por os dados numa imputbox? CUMPS "use windows, você merece!"
bioshock Posted May 23, 2009 at 10:14 PM Author Report #266825 Posted May 23, 2009 at 10:14 PM * Este procedimento apenas é feito em Modo Details (Detalhes), caso desejes fazer isto com uma DataGrid, adicionas a DataGrid, Editas as Colunas, poems o Código Postal como ComboBox, e metes os mesmos termos que te disse anteriormente: Data Source: CodigoPostalBindingSource Display Member: Descrição Value Member: CodPostal Selected Value: ClientesBindingSource » Codigo Postal Espero ter ajudado, cumprimentos. 😁
duduml Posted May 23, 2009 at 10:20 PM Report #266826 Posted May 23, 2009 at 10:20 PM ai para o datagrid é o mesmo que datagridview? lool obrigado então...B) so me falta arranjar modo de fazer com imputbox "use windows, você merece!"
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