|
dev
newsgroups
|
|||||||||||||||||||||||
|
|||||||||||||||||||||||
is this possible?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" /> 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 Show quote "André" <s**@sdv.sd> ha scritto nel messaggio news:%23HLkTj2mGHA.1208@TK2MSFTNGP03.phx.gbl... > 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" /> > > > Thanks, it works now ...
"Alessandro Zifiglio" <AlessandroZifiglio @ -h-o-t-m-a-i-l-c-o-m> wrote in http://msdn2.microsoft.com/en-us/library/system.web.ui.webcontrols.controlparameter.aspxmessage news:u%23KN352mGHA.5056@TK2MSFTNGP04.phx.gbl... > 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. > Show quote > Regards, --> Alessandro Zifiglio > "André" <s**@sdv.sd> ha scritto nel messaggio > news:%23HLkTj2mGHA.1208@TK2MSFTNGP03.phx.gbl... > > 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" /> > > > > > > > > |
|||||||||||||||||||||||