Home All Groups Group Topic Archive Search About

which expert can finally solve this?

Author
21 Aug 2006 11:50 AM
Cas
Hi,

I tried to solve this for a while, but there is always somewhere a problem.
Here my story:
The table contains two fields (field1, field2).
I use a gridview for editing the table: field1 can be updated manually, but
field2 must be updated with the selectedvalue of a dropdownlist. So I
checked the SelectedIndex and if it's >0 (first element is only a message),
i created a controlparameter which is necessary for the link with the
selectedvalue.

This is the code here below: it works only for field1 AND if the
DropDownList1.SelectedIndex is not >0 (means first item or no click). No
error, but I can't update field2.

I think that the problem is:
SqlDataSource1.UpdateCommand="UPDATE [mytable] SET [field1] = ?,[field2] =
?" (in code-behind), but I have no idea how to correct this.

If you know it, please tell me
Thanks
Cas


aspx code:
---------
<asp:SqlDataSource ID="SqlDataSource1 ...
SelectCommand="SELECT * FROM [mytable]"
UpdateCommand="UPDATE [mytable] SET [field1] = ?"
<UpdateParameters>
   <asp:Parameter Name="field1" Type="String" />
</UpdateParameters>
</asp:SqlDataSource>

<asp:GridView ID="GridView1" ...
<Columns>
    <asp:CommandField ShowEditButton="True"/>
    <asp:BoundField DataField="field1" />
    <asp:BoundField DataField="field2" />
</Columns>
</asp:GridView>

<asp:DropDownList ID="DropDownList1" ...
</asp:DropDownList>

code-behind:
-----------
Protected Sub GridView1_RowUpdating(ByVal sender As Object, ByVal e As

System.Web.UI.WebControls.GridViewUpdateEventArgs) Handles
GridView1.RowUpdating
   If DropDownList1.SelectedIndex > 0 Then
   Dim a As New ControlParameter
   a.ControlID = "Dropdownlist1"
   a.Type = TypeCode.String
   a.PropertyName = "SelectedValue"
   SqlDataSource1.UpdateParameters.Add(a)
   SqlDataSource1.UpdateCommand="UPDATE [mytable] SET [field1] = ?,[field2]
= ?"
    End If
End Sub

Author
21 Aug 2006 12:25 PM
Cas
I found it ....
the line sqldatasource1.update()
was missing



Show quoteHide quote
"Cas" <s@s> schreef in bericht news:esKv2fRxGHA.1224@TK2MSFTNGP03.phx.gbl...
> Hi,
>
> I tried to solve this for a while, but there is always somewhere a
> problem.
> Here my story:
> The table contains two fields (field1, field2).
> I use a gridview for editing the table: field1 can be updated manually,
> but field2 must be updated with the selectedvalue of a dropdownlist. So I
> checked the SelectedIndex and if it's >0 (first element is only a
> message), i created a controlparameter which is necessary for the link
> with the selectedvalue.
>
> This is the code here below: it works only for field1 AND if the
> DropDownList1.SelectedIndex is not >0 (means first item or no click). No
> error, but I can't update field2.
>
> I think that the problem is:
> SqlDataSource1.UpdateCommand="UPDATE [mytable] SET [field1] = ?,[field2] =
> ?" (in code-behind), but I have no idea how to correct this.
>
> If you know it, please tell me
> Thanks
> Cas
>
>
> aspx code:
> ---------
> <asp:SqlDataSource ID="SqlDataSource1 ...
> SelectCommand="SELECT * FROM [mytable]"
> UpdateCommand="UPDATE [mytable] SET [field1] = ?"
> <UpdateParameters>
>   <asp:Parameter Name="field1" Type="String" />
> </UpdateParameters>
> </asp:SqlDataSource>
>
> <asp:GridView ID="GridView1" ...
> <Columns>
>    <asp:CommandField ShowEditButton="True"/>
>    <asp:BoundField DataField="field1" />
>    <asp:BoundField DataField="field2" />
> </Columns>
> </asp:GridView>
>
> <asp:DropDownList ID="DropDownList1" ...
> </asp:DropDownList>
>
> code-behind:
> -----------
> Protected Sub GridView1_RowUpdating(ByVal sender As Object, ByVal e As
>
> System.Web.UI.WebControls.GridViewUpdateEventArgs) Handles
> GridView1.RowUpdating
>   If DropDownList1.SelectedIndex > 0 Then
>   Dim a As New ControlParameter
>   a.ControlID = "Dropdownlist1"
>   a.Type = TypeCode.String
>   a.PropertyName = "SelectedValue"
>   SqlDataSource1.UpdateParameters.Add(a)
>   SqlDataSource1.UpdateCommand="UPDATE [mytable] SET [field1] = ?,[field2]
> = ?"
>    End If
> End Sub
>
Author
21 Aug 2006 1:00 PM
Bruno Alexandre
see, you are a wonderful expert! ;-)

--

Bruno Alexandre
"a Portuguese in København, Danmark"



Show quoteHide quote
"Cas" <s@s> escreveu na mensagem
news:uR7hmzRxGHA.324@TK2MSFTNGP06.phx.gbl...
>I found it ....
> the line sqldatasource1.update()
> was missing
>
>
>
> "Cas" <s@s> schreef in bericht
> news:esKv2fRxGHA.1224@TK2MSFTNGP03.phx.gbl...
>> Hi,
>>
>> I tried to solve this for a while, but there is always somewhere a
>> problem.
>> Here my story:
>> The table contains two fields (field1, field2).
>> I use a gridview for editing the table: field1 can be updated manually,
>> but field2 must be updated with the selectedvalue of a dropdownlist. So I
>> checked the SelectedIndex and if it's >0 (first element is only a
>> message), i created a controlparameter which is necessary for the link
>> with the selectedvalue.
>>
>> This is the code here below: it works only for field1 AND if the
>> DropDownList1.SelectedIndex is not >0 (means first item or no click). No
>> error, but I can't update field2.
>>
>> I think that the problem is:
>> SqlDataSource1.UpdateCommand="UPDATE [mytable] SET [field1] = ?,[field2]
>> = ?" (in code-behind), but I have no idea how to correct this.
>>
>> If you know it, please tell me
>> Thanks
>> Cas
>>
>>
>> aspx code:
>> ---------
>> <asp:SqlDataSource ID="SqlDataSource1 ...
>> SelectCommand="SELECT * FROM [mytable]"
>> UpdateCommand="UPDATE [mytable] SET [field1] = ?"
>> <UpdateParameters>
>>   <asp:Parameter Name="field1" Type="String" />
>> </UpdateParameters>
>> </asp:SqlDataSource>
>>
>> <asp:GridView ID="GridView1" ...
>> <Columns>
>>    <asp:CommandField ShowEditButton="True"/>
>>    <asp:BoundField DataField="field1" />
>>    <asp:BoundField DataField="field2" />
>> </Columns>
>> </asp:GridView>
>>
>> <asp:DropDownList ID="DropDownList1" ...
>> </asp:DropDownList>
>>
>> code-behind:
>> -----------
>> Protected Sub GridView1_RowUpdating(ByVal sender As Object, ByVal e As
>>
>> System.Web.UI.WebControls.GridViewUpdateEventArgs) Handles
>> GridView1.RowUpdating
>>   If DropDownList1.SelectedIndex > 0 Then
>>   Dim a As New ControlParameter
>>   a.ControlID = "Dropdownlist1"
>>   a.Type = TypeCode.String
>>   a.PropertyName = "SelectedValue"
>>   SqlDataSource1.UpdateParameters.Add(a)
>>   SqlDataSource1.UpdateCommand="UPDATE [mytable] SET [field1] =
>> ?,[field2] = ?"
>>    End If
>> End Sub
>>
>
>
Author
11 Sep 2006 11:25 AM
msnews
Do you have field2 defined as an UpdateParameter?  It appears you only have
field1 listed.

Change...

<UpdateParameters>
<asp:Parameter Name="field1" Type="String" />
</UpdateParameters>

To...

<UpdateParameters>
<asp:Parameter Name="field1" Type="String" />
<asp:Parameter Name="field2" Type="String" />
</UpdateParameters>

See if that works.

Brennan Stehling
http://brennan.offwhite.net/blog/


Show quoteHide quote
"Cas" <s@s> wrote in message news:esKv2fRxGHA.1224@TK2MSFTNGP03.phx.gbl...
> Hi,
>
> I tried to solve this for a while, but there is always somewhere a
> problem.
> Here my story:
> The table contains two fields (field1, field2).
> I use a gridview for editing the table: field1 can be updated manually,
> but field2 must be updated with the selectedvalue of a dropdownlist. So I
> checked the SelectedIndex and if it's >0 (first element is only a
> message), i created a controlparameter which is necessary for the link
> with the selectedvalue.
>
> This is the code here below: it works only for field1 AND if the
> DropDownList1.SelectedIndex is not >0 (means first item or no click). No
> error, but I can't update field2.
>
> I think that the problem is:
> SqlDataSource1.UpdateCommand="UPDATE [mytable] SET [field1] = ?,[field2] =
> ?" (in code-behind), but I have no idea how to correct this.
>
> If you know it, please tell me
> Thanks
> Cas
>
>
> aspx code:
> ---------
> <asp:SqlDataSource ID="SqlDataSource1 ...
> SelectCommand="SELECT * FROM [mytable]"
> UpdateCommand="UPDATE [mytable] SET [field1] = ?"
> <UpdateParameters>
>   <asp:Parameter Name="field1" Type="String" />
> </UpdateParameters>
> </asp:SqlDataSource>
>
> <asp:GridView ID="GridView1" ...
> <Columns>
>    <asp:CommandField ShowEditButton="True"/>
>    <asp:BoundField DataField="field1" />
>    <asp:BoundField DataField="field2" />
> </Columns>
> </asp:GridView>
>
> <asp:DropDownList ID="DropDownList1" ...
> </asp:DropDownList>
>
> code-behind:
> -----------
> Protected Sub GridView1_RowUpdating(ByVal sender As Object, ByVal e As
>
> System.Web.UI.WebControls.GridViewUpdateEventArgs) Handles
> GridView1.RowUpdating
>   If DropDownList1.SelectedIndex > 0 Then
>   Dim a As New ControlParameter
>   a.ControlID = "Dropdownlist1"
>   a.Type = TypeCode.String
>   a.PropertyName = "SelectedValue"
>   SqlDataSource1.UpdateParameters.Add(a)
>   SqlDataSource1.UpdateCommand="UPDATE [mytable] SET [field1] = ?,[field2]
> = ?"
>    End If
> End Sub
>