which expert can finally solve this?

C

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
 
B

Bruno Alexandre

see, you are a wonderful expert! ;-)

--

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



Cas said:
I found it ....
the line sqldatasource1.update()
was missing



Cas said:
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
 
M

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/
 

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,995
Messages
2,570,233
Members
46,820
Latest member
GilbertoA5

Latest Threads

Top