Jump to content

Dados Existentes em TextBox + ComboBox


pacheco784
 Share

Recommended Posts

Olá pessoal tenho aqui uma duvida que já soube fazer mas não a meio de me lembrar, é o seguinte ,eu tenho uma ComBox com varios materiais e uma TextBox a frente para inserir quanditade, escolho o Material na ComboBox, Insiro a quantidade na Primeira TextBox e faço adicionar e ele adiciona a outra TextBox por exemplo:

12 - CABO TVHV 2X2X0,5

Até aqui tudo bem, só que ao adicionar o segundo material ele substitui pelo primeiro, e eu queria que ele coloca-se numa nova linha e mantive-se o que já esta. o codigo actual esta assim:

textBox10.Text = textBox11.Text + " - " + comboBox.Text + "\r"

eu sei que falta ali algo para ele manter o valor ja existente mas nao sei o que é

Link to comment
Share on other sites

Porque não usas uma listbox? É perfeito para isto.

O erro que tens no teu código é simplesmente estares a igualar a propriedade texto em todas as modificações, em vez de estares a adicionar, usa '+=' em vez de '=' .

Mas muda para listbox, é muito mais fácil e limpo, assério.

Link to comment
Share on other sites

Ja consegui haha , não fazia ideia que tinha que ser \r\n pensei que era so um, e com a listbox não dá problemas ao salvar na BD?

Porque haveria de dar? A Listbox suporta strings tal como uma textbox.

Espero que tenhas seguido o conselho de Environment.NewLine 😉

Link to comment
Share on other sites

Consegui sim e Obrigado, uma coisa o procedimento é o mesmo da TextBox? é que troquei a Text por a List e nao aparece nada agora, nao percebo anda disto ainda :$

Link to comment
Share on other sites

Consegui sim e Obrigado, uma coisa o procedimento é o mesmo da TextBox? é que troquei a Text por a List e nao aparece nada agora, nao percebo anda disto ainda :$

Não, na listbox é diferente...

Listbox.Items.Add("texto");

Mas torna-se mais fácil para o que estás a tentar fazer.

Edited by He B TeMy
Link to comment
Share on other sites

Como é que estás a ir buscar os dados?

Tens de iterar por cada item na listbox se for mais que um, assim:

foreach (string item in Listbox.items) {
//item é o que precisas.
}

Atenção que se tiveres algum membro da listbox que não seja string, o código acima vai rebentar, mas para o que tás a fazer não terás problemas.

Link to comment
Share on other sites

O Codigo de inserção é uma Query SQL normal onde tem nos valores o nome das TextBox.Tex e substitui por listBox1.Tex fica em Branco se meter listBox1.Items aparece na BD algo como System.Windows.Forms etl

Link to comment
Share on other sites

Eu perguntei como estavas a fazer para ver se pensavas um bocadinho, que eu tinha quase a certeza que estavas a ir ao '.Text', de qualquer maneira no código que pûs acima, o valor que tu queres está na variável 'item', está a iterar por todos os items da listbox.

Agora como estás a fazer o insert é que já é mais complicado, da maneira que estavas a fazer, os items parecem-me que são fixos? Estavas sempre a adicionar as 3 textbox ou lá o que era á DB? Se sim, podes sempre adicionar os primeiros três items da listbox, mas ao fazeres assim se a listbox não tiver três items, o teu programa vai crashar.

Seria melhor fazeres como estou a fazer em cima, se o teu objectivo é adicionar tudo, adicionavas á DB no loop que tens acima.

tipo:

DB.Add(item);

Onde item é a variável do meu post anterior, este código é um exemplo.

Link to comment
Share on other sites

Esta ComboBox vai ter cerca de 150 Materiais que serão adicionados conforme a utilização, tanto pode haver alturas que a Listbox tenha 0 materias como tenha 40, o que é mais facil de fazer? Visto que não sou grande pro no C# lol

Link to comment
Share on other sites

É o loop que tens acima, como estavas a fazer nas textbox? Estavas a adicionar todos os items separadamente?

foreach (string item in Listbox.items) {
//item é o que precisas.
//DB.Add(item);
}

Isto é a única solução que tens, se não quiseres adicionar um a um, vais ter que dizer como queres adicionar ou simplesmente adicionas tu como queres visto que já tens os items que precisas e é tudo strings 😉

Link to comment
Share on other sites

A TextBox estava adicionar tudo o conteudo a BD ou seja todos os materiais inseridos na TextBox iriam aparecer no campo material da BD

Tudo numa string?

Ou seja, tudo assim:

12 - CABO TVHV 2X2X0,5 12 - CABO TVHV 2X2X0,5

em vez de isto:

12 - CABO TVHV 2X2X0,5
12 - CABO TVHV 2X2X0,5

Se for o primeiro, fazes assim:

string itemsTodos = string.Empty;
foreach (string item in Listbox.items) {
itemsTodos += item;
}
//DB.Add(itemsTodos);

Se for o 2º, o meu loop anterior não deveria ter problema.

Edited by He B TeMy
Link to comment
Share on other sites

O que tens na tua query? que DB estás a utilizar? Eu não trabalho com DB's... vou ter de procurar no google secalhar, por isso tu também poderias procurar 😉

O loop está feito acima... basta adicionares cada item á DB.

Link to comment
Share on other sites

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 account

Sign in

Already have an account? Sign in here.

Sign In Now
 Share

×
×
  • Create New...

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.