is this possible?

A

André

Hi,

Is it possible to use the selectedValue of a dropdownlist to fill one of the
field of a detailsview?

I tried a lot of things, but still without succes. Here are the two methods
i tried with two different errors. It works only when i introduce directly a
value in "DefaultValue" (see below)

Thanks for help
André


1) first method:
asp:SqlDataSource ID="SqlDataSource1" runat="server" ....
....
InsertCommand="INSERT INTO [pc] ([na], [ty], [lok]) VALUES (?, ?, @lok)"
OldValuesParameterFormatString="original_{0}"
ProviderName="System.Data.OleDb"
<InsertParameters>
<asp:parameter Name="na" Type="String" />
<asp:parameter Name="ty" Type="String" />
</InsertParameters>
.....
Code-behind:
Protected Sub DropDownList1_SelectedIndexChanged(ByVal sender As Object,
ByVal e As System.EventArgs) Handles DropDownList1.SelectedIndexChanged
lok = DropDownList1.SelectedValue
SqlDataSource1.InsertParameters.Add("lok", lokl)
End Sub

This gives: No value given for one or more required parameters
----------------------------------------------------------------------------
-------------------------
2) second method
asp:SqlDataSource ID="SqlDataSource1" runat="server" ....
....
InsertCommand="INSERT INTO [pc] ([na], [ty], [lok]) VALUES (?, ?, @lok)"
OldValuesParameterFormatString="original_{0}"
ProviderName="System.Data.OleDb"
<InsertParameters>
<asp:parameter Name="na" Type="String" />
<asp:parameter Name="ty" Type="String" />
<asp:parameter Name="lok" Type="String" DefaultValue="<%=lok %>" />
</InsertParameters>
....

Code-behind:
Protected Sub DropDownList1_SelectedIndexChanged(ByVal sender As Object,
ByVal e As System.EventArgs) Handles DropDownList1.SelectedIndexChanged
lok = DropDownList1.SelectedValue
End Sub

This gives: You cannot add or change a record because a related record is
required in table 'lokl'
which means in fact that the value of the parameter is not passed!

It works when i give directly a value: <asp:parameter Name="lok"
Type="String" DefaultValue="1-45" />
 
A

André

Thanks, it works now ...


Alessandro Zifiglio said:
hi Andre, there is built in support for what you are trying to achieve. What
you need to use is ControlParameter in your InsertParameter just as in the
following example code.
http://msdn2.microsoft.com/en-us/library/system.web.ui.webcontrols.controlparameter.aspx
Regards,
Alessandro Zifiglio
André said:
Hi,

Is it possible to use the selectedValue of a dropdownlist to fill one of
the field of a detailsview?

I tried a lot of things, but still without succes. Here are the two
methods
i tried with two different errors. It works only when i introduce directly
a
value in "DefaultValue" (see below)

Thanks for help
André


1) first method:
asp:SqlDataSource ID="SqlDataSource1" runat="server" ....
...
InsertCommand="INSERT INTO [pc] ([na], [ty], [lok]) VALUES (?, ?, @lok)"
OldValuesParameterFormatString="original_{0}"
ProviderName="System.Data.OleDb"
<InsertParameters>
<asp:parameter Name="na" Type="String" />
<asp:parameter Name="ty" Type="String" />
</InsertParameters>
....
Code-behind:
Protected Sub DropDownList1_SelectedIndexChanged(ByVal sender As Object,
ByVal e As System.EventArgs) Handles DropDownList1.SelectedIndexChanged
lok = DropDownList1.SelectedValue
SqlDataSource1.InsertParameters.Add("lok", lokl)
End Sub

This gives: No value given for one or more required parameters
--------------------------------------------------------------------------
--
-------------------------
2) second method
asp:SqlDataSource ID="SqlDataSource1" runat="server" ....
...
InsertCommand="INSERT INTO [pc] ([na], [ty], [lok]) VALUES (?, ?, @lok)"
OldValuesParameterFormatString="original_{0}"
ProviderName="System.Data.OleDb"
<InsertParameters>
<asp:parameter Name="na" Type="String" />
<asp:parameter Name="ty" Type="String" />
<asp:parameter Name="lok" Type="String" DefaultValue="<%=lok %>" />
</InsertParameters>
...

Code-behind:
Protected Sub DropDownList1_SelectedIndexChanged(ByVal sender As Object,
ByVal e As System.EventArgs) Handles DropDownList1.SelectedIndexChanged
lok = DropDownList1.SelectedValue
End Sub

This gives: You cannot add or change a record because a related record is
required in table 'lokl'
which means in fact that the value of the parameter is not passed!

It works when i give directly a value: <asp:parameter Name="lok"
Type="String" DefaultValue="1-45" />
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

Forum statistics

Threads
473,744
Messages
2,569,482
Members
44,900
Latest member
Nell636132

Latest Threads

Top