Listbox com asp.net - datavaluefield

18/02/2005

1

Resolvi testar o listbox para asp.net

Tenho um textbox, 4 listboxes e 1 button:

textbox- o usuário entra com um valor numérico qualquer
listbox1- o usuário seleciona um item qualquer
listbox2- através de sincronismo captura o índice do listbox1 e
identifica o valor correspondente ao selecionado no listbox1.
listbox3- o usuário seleciona um item a ser convertido
listbox4- através de sincronismo captura o índice do listbox3 e
identifica o valor correspondente ao selecionado no listbox3.
button- executa uma conta.

Pelo que vi parece ser possível eliminar os
listbox2 e listbox4, já que no object inspector
o datatextfield aponta para a coluna da tabela
que será exibida enquanto o datavaluefield aponta
para a coluna respectiva de valores

Se alguém puder explicar como eliminar os listbox2 e listbox4 e simplificar o código usando o datavaluefield agradeço


procedure TWebForm1.Page_Load(sender: System.Object; e: System.EventArgs);
var
ds: IDBDataSource;
unidadeatual: string;
novaunidade:string;
valor:string;
valor3:string;
item: ListItem;
item2:ListItem;
item3:ListItem;
item4:ListItem;
begin
if not IsPostBack then
begin
ListBox1.DataBind();
ListBox2.DataBind();
ListBox3.DataBind();
ListBox4.DataBind();
if DBWebDataSource1 is IDBDataSource then
begin
ds := DBWebDataSource1 as IDBDataSource;
unidadeatual := Convert.ToString(ds.GetColumnValue(Page, ´un_comprimento´, ´comprimento´));
valor:=Convert.Tostring(ds.GetColumnValue(Page,´un_comprimento´,´valor´));
novaunidade := Convert.ToString(ds.GetColumnValue(Page, ´un_comprimento´, ´comprimento´));
valor3:=Convert.Tostring(ds.GetColumnValue(Page,´un_comprimento´,´valor´));



if Assigned(unidadeatual) then
begin
item := ListBox1.Items.FindByText(unidadeatual);
item2:= ListBox2.Items.FindByText(valor);
item3:= ListBox3.Items.FindByText(novaunidade);
item4:= ListBox4.Items.FindByText(valor3);

ListBox1.SelectedIndex := Listbox1.Items.IndexOf(item);
ListBox2.SelectedIndex := Listbox2.Items.IndexOf(item2);
ListBox3.SelectedIndex := Listbox3.Items.IndexOf(item3);
ListBox4.SelectedIndex := Listbox4.Items.IndexOf(item4);

end;
end;
end;
end;


procedure TWebForm1.ListBox1_SelectedIndexChanged(sender: System.Object; e: System.EventArgs);
begin
ListBox2.SelectedIndex:=ListBox1.SelectedIndex;
end;




procedure TWebForm1.Button1_Click(sender: System.Object; e: System.EventArgs);
var
entra:double;
begin
entra:=convert.ToDouble(txtEntra.Text);

conv:=Convert.ToDouble(ListBox2.Items.Item[ListBox2.SelectedIndex].Text);
conv2:=Convert.ToDouble(ListBox4.Items.Item[ListBox4.SelectedIndex].Text);

entra:=entra*conv/conv2;

Label1.Text:=entra.ToString;
end;


Responder

Posts

18/02/2005

N1

Consegui,

Se alguém tiver dúvida parecida:

conv:=Convert.ToDouble(ListBox1.Items.Item[ListBox1.SelectedIndex].Value.ToString);
conv2:=Convert.ToDouble(ListBox3.Items.Item[ListBox3.SelectedIndex].Value.ToString);


Responder
×
+1 DevUP
Acesso diário, +1 DevUP
Parabéns, você está investindo na sua carreira