Hi there experts,
I have a gridview with a couple textboxes and a dropdownlist. I'm
trying to insert a default value into my database driven dropdownlist.
I'm doing this in the rowdatabound event. My problem is that my code
only works for the very first row in the gridview. For the first row,
when I press "edit", my gridview goes to edit mode, my textboxes and
dropdownlist populate. Further, my dropdownlist has the "Select" I
forced in as its default value.
If I try the 2nd row in my gridview, the dropdownlist populates,
however doesn't trigger the row databound command of inserting a
default value.
I tried going the "for each gridview row approach", and that just loops
for the number of rows I have. If I have two rows, it inserts the
default value "Select" twice in the dropdownlist for the first row
only. It still doesn't recognize any other row.
---- ASPX snippet ----
<EditItemTemplate>
<asp:dropdownlist ID="ddlUpdate_UserTypeID"
datavaluefield="user_type_id" datatextfield="user_type_desc"
DataSource='<%# Bind_ddlUserType() %>' Runat="server" />
</EditItemTemplate>
---- Code Behind snippet----
Sub gvUsers_rowDataBound(ByVal sender As Object, ByVal e As
GridViewRowEventArgs) _
Handles gvUsers.RowDataBound
If e.Row.RowType = DataControlRowType.DataRow And _
e.Row.RowState = DataControlRowState.Edit Then
Dim user_id As String = e.Row.Cells(0).Text
CType(e.Row.FindControl("ddlUpdate_UserTypeID"),
DropDownList).Items.Insert(0, New ListItem("Select"))
End If
Please let me know if you require more detail. I've been spinning my
wheels on this for sometime now.
Thanks much for any assistance!
Mike 5 25148
Maurban,
I would switch out of RowDataBound mode and use the RowCreated
method...when switching between EditItemIndex values, the data is not
re-bound therefore your RowDataBound event will not fire. Here's what
my solution would be:
1) Leave all your databound code intact, and add an additional event
handler to the gridview for "RowCreated".
2) Insert the following code (c#)
if(e.Row.RowType == DataControlRowType.DataRow)
{
DropDownList list =
(DropDownList)e.Row.Cells[x].FindControl("myDropDown");
myList.Items.Insert(0, new ListItem("defaultValue", "Select"));
}
Let us know how it goes!
-Brenton ma*****@gmail.com wrote:
Hi there experts,
I have a gridview with a couple textboxes and a dropdownlist. I'm
trying to insert a default value into my database driven dropdownlist.
I'm doing this in the rowdatabound event. My problem is that my code
only works for the very first row in the gridview. For the first row,
when I press "edit", my gridview goes to edit mode, my textboxes and
dropdownlist populate. Further, my dropdownlist has the "Select" I
forced in as its default value.
If I try the 2nd row in my gridview, the dropdownlist populates,
however doesn't trigger the row databound command of inserting a
default value.
I tried going the "for each gridview row approach", and that just loops
for the number of rows I have. If I have two rows, it inserts the
default value "Select" twice in the dropdownlist for the first row
only. It still doesn't recognize any other row.
---- ASPX snippet ----
<EditItemTemplate>
<asp:dropdownlist ID="ddlUpdate_UserTypeID"
datavaluefield="user_type_id" datatextfield="user_type_desc"
DataSource='<%# Bind_ddlUserType() %>' Runat="server" />
</EditItemTemplate>
---- Code Behind snippet----
Sub gvUsers_rowDataBound(ByVal sender As Object, ByVal e As
GridViewRowEventArgs) _
Handles gvUsers.RowDataBound
If e.Row.RowType = DataControlRowType.DataRow And _
e.Row.RowState = DataControlRowState.Edit Then
Dim user_id As String = e.Row.Cells(0).Text
CType(e.Row.FindControl("ddlUpdate_UserTypeID"),
DropDownList).Items.Insert(0, New ListItem("Select"))
End If
Please let me know if you require more detail. I've been spinning my
wheels on this for sometime now.
Thanks much for any assistance!
Mike
Maurban,
I just thought of something else.
You have your datasource being bound to a function call. Be sure it
doesn't bind over every post. Make sure that function checks for
Page.IsPostBack.
Good luck.
-Brenton ma*****@gmail.com wrote:
Hi there experts,
I have a gridview with a couple textboxes and a dropdownlist. I'm
trying to insert a default value into my database driven dropdownlist.
I'm doing this in the rowdatabound event. My problem is that my code
only works for the very first row in the gridview. For the first row,
when I press "edit", my gridview goes to edit mode, my textboxes and
dropdownlist populate. Further, my dropdownlist has the "Select" I
forced in as its default value.
If I try the 2nd row in my gridview, the dropdownlist populates,
however doesn't trigger the row databound command of inserting a
default value.
I tried going the "for each gridview row approach", and that just loops
for the number of rows I have. If I have two rows, it inserts the
default value "Select" twice in the dropdownlist for the first row
only. It still doesn't recognize any other row.
---- ASPX snippet ----
<EditItemTemplate>
<asp:dropdownlist ID="ddlUpdate_UserTypeID"
datavaluefield="user_type_id" datatextfield="user_type_desc"
DataSource='<%# Bind_ddlUserType() %>' Runat="server" />
</EditItemTemplate>
---- Code Behind snippet----
Sub gvUsers_rowDataBound(ByVal sender As Object, ByVal e As
GridViewRowEventArgs) _
Handles gvUsers.RowDataBound
If e.Row.RowType = DataControlRowType.DataRow And _
e.Row.RowState = DataControlRowState.Edit Then
Dim user_id As String = e.Row.Cells(0).Text
CType(e.Row.FindControl("ddlUpdate_UserTypeID"),
DropDownList).Items.Insert(0, New ListItem("Select"))
End If
Please let me know if you require more detail. I've been spinning my
wheels on this for sometime now.
Thanks much for any assistance!
Mike
Brenton -- thanks sir, I'll give it a go and let you know.
Mike
Superman wrote:
Maurban,
I just thought of something else.
You have your datasource being bound to a function call. Be sure it
doesn't bind over every post. Make sure that function checks for
Page.IsPostBack.
Good luck.
-Brenton ma*****@gmail.com wrote:
Hi there experts,
I have a gridview with a couple textboxes and a dropdownlist. I'm
trying to insert a default value into my database driven dropdownlist.
I'm doing this in the rowdatabound event. My problem is that my code
only works for the very first row in the gridview. For the first row,
when I press "edit", my gridview goes to edit mode, my textboxes and
dropdownlist populate. Further, my dropdownlist has the "Select" I
forced in as its default value.
If I try the 2nd row in my gridview, the dropdownlist populates,
however doesn't trigger the row databound command of inserting a
default value.
I tried going the "for each gridview row approach", and that just loops
for the number of rows I have. If I have two rows, it inserts the
default value "Select" twice in the dropdownlist for the first row
only. It still doesn't recognize any other row.
---- ASPX snippet ----
<EditItemTemplate>
<asp:dropdownlist ID="ddlUpdate_UserTypeID"
datavaluefield="user_type_id" datatextfield="user_type_desc"
DataSource='<%# Bind_ddlUserType() %>' Runat="server" />
</EditItemTemplate>
---- Code Behind snippet----
Sub gvUsers_rowDataBound(ByVal sender As Object, ByVal e As
GridViewRowEventArgs) _
Handles gvUsers.RowDataBound
If e.Row.RowType = DataControlRowType.DataRow And _
e.Row.RowState = DataControlRowState.Edit Then
Dim user_id As String = e.Row.Cells(0).Text
CType(e.Row.FindControl("ddlUpdate_UserTypeID"),
DropDownList).Items.Insert(0, New ListItem("Select"))
End If
Please let me know if you require more detail. I've been spinning my
wheels on this for sometime now.
Thanks much for any assistance!
Mike
Well, this is still a no-go... Adding this code to the rowcreated event
has no effect on the gridview.
My original code is works for the first row of the gridview. I think I
just need to figure out how to make it acknowlege rows 2 +.
When I click the edit button for rows 2 +, there is no effect on the
rowdatabound event (or rowcreated event)
Any other ideas?
Thanks! ma*****@gmail.com wrote:
Brenton -- thanks sir, I'll give it a go and let you know.
Mike
Superman wrote:
Maurban,
I just thought of something else.
You have your datasource being bound to a function call. Be sure it
doesn't bind over every post. Make sure that function checks for
Page.IsPostBack.
Good luck.
-Brenton ma*****@gmail.com wrote:
Hi there experts,
I have a gridview with a couple textboxes and a dropdownlist. I'm
trying to insert a default value into my database driven dropdownlist.
>
I'm doing this in the rowdatabound event. My problem is that my code
only works for the very first row in the gridview. For the first row,
when I press "edit", my gridview goes to edit mode, my textboxes and
dropdownlist populate. Further, my dropdownlist has the "Select" I
forced in as its default value.
>
If I try the 2nd row in my gridview, the dropdownlist populates,
however doesn't trigger the row databound command of inserting a
default value.
>
I tried going the "for each gridview row approach", and that just loops
for the number of rows I have. If I have two rows, it inserts the
default value "Select" twice in the dropdownlist for the first row
only. It still doesn't recognize any other row.
>
---- ASPX snippet ----
<EditItemTemplate>
<asp:dropdownlist ID="ddlUpdate_UserTypeID"
datavaluefield="user_type_id" datatextfield="user_type_desc"
DataSource='<%# Bind_ddlUserType() %>' Runat="server" />
</EditItemTemplate>
>
---- Code Behind snippet----
Sub gvUsers_rowDataBound(ByVal sender As Object, ByVal e As
GridViewRowEventArgs) _
Handles gvUsers.RowDataBound
>
If e.Row.RowType = DataControlRowType.DataRow And _
e.Row.RowState = DataControlRowState.Edit Then
Dim user_id As String = e.Row.Cells(0).Text
CType(e.Row.FindControl("ddlUpdate_UserTypeID"),
DropDownList).Items.Insert(0, New ListItem("Select"))
End If
>
Please let me know if you require more detail. I've been spinning my
wheels on this for sometime now.
>
Thanks much for any assistance!
>
Mike
I figured out the solution:
If ((e.Row.RowState = (DataControlRowState.Edit Or _
DataControlRowState.Alternate)) Or _
(e.Row.RowState = DataControlRowState.Edit)) Then
bla bla
end if
Works great!! Hopefully this will help someone else out there. ma*****@gmail.com wrote:
Well, this is still a no-go... Adding this code to the rowcreated event
has no effect on the gridview.
My original code is works for the first row of the gridview. I think I
just need to figure out how to make it acknowlege rows 2 +.
When I click the edit button for rows 2 +, there is no effect on the
rowdatabound event (or rowcreated event)
Any other ideas?
Thanks! ma*****@gmail.com wrote:
Brenton -- thanks sir, I'll give it a go and let you know.
Mike
Superman wrote:
Maurban,
>
I just thought of something else.
>
You have your datasource being bound to a function call. Be sure it
doesn't bind over every post. Make sure that function checks for
Page.IsPostBack.
>
Good luck.
>
-Brenton
>
> ma*****@gmail.com wrote:
Hi there experts,
I have a gridview with a couple textboxes and a dropdownlist. I'm
trying to insert a default value into my database driven dropdownlist.
I'm doing this in the rowdatabound event. My problem is that my code
only works for the very first row in the gridview. For the first row,
when I press "edit", my gridview goes to edit mode, my textboxes and
dropdownlist populate. Further, my dropdownlist has the "Select" I
forced in as its default value.
If I try the 2nd row in my gridview, the dropdownlist populates,
however doesn't trigger the row databound command of inserting a
default value.
I tried going the "for each gridview row approach", and that just loops
for the number of rows I have. If I have two rows, it inserts the
default value "Select" twice in the dropdownlist for the first row
only. It still doesn't recognize any other row.
---- ASPX snippet ----
<EditItemTemplate>
<asp:dropdownlist ID="ddlUpdate_UserTypeID"
datavaluefield="user_type_id" datatextfield="user_type_desc"
DataSource='<%# Bind_ddlUserType() %>' Runat="server" />
</EditItemTemplate>
---- Code Behind snippet----
Sub gvUsers_rowDataBound(ByVal sender As Object, ByVal e As
GridViewRowEventArgs) _
Handles gvUsers.RowDataBound
If e.Row.RowType = DataControlRowType.DataRow And _
e.Row.RowState = DataControlRowState.Edit Then
Dim user_id As String = e.Row.Cells(0).Text
CType(e.Row.FindControl("ddlUpdate_UserTypeID"),
DropDownList).Items.Insert(0, New ListItem("Select"))
End If
Please let me know if you require more detail. I've been spinning my
wheels on this for sometime now.
Thanks much for any assistance!
Mike
This discussion thread is closed Replies have been disabled for this discussion. Similar topics
4 posts
views
Thread by Jim Katz |
last post: by
|
4 posts
views
Thread by |
last post: by
|
6 posts
views
Thread by Dabbler |
last post: by
|
5 posts
views
Thread by sutphinwb |
last post: by
|
2 posts
views
Thread by nolan |
last post: by
|
5 posts
views
Thread by =?Utf-8?B?QWRhciBXZXNsZXk=?= |
last post: by
|
1 post
views
Thread by =?Utf-8?B?V2VzbGV5IERhdmlzLCBHZW5lcmFsIER5bmFtaWNz |
last post: by
|
10 posts
views
Thread by =?Utf-8?B?bWljaGFlbCBzb3JlbnM=?= |
last post: by
|
4 posts
views
Thread by Craig Buchanan |
last post: by
| | | | | | | | | | |