Improve company productivity with a Business Account.Sign Up

x
  • Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 2809
  • Last Modified:

reference gridview dataitem in rowediting event

Ok I have a gridview bound to a sql datasource, on of the fields it returns is a pipe delimited string.
I use a template control with a label in the item template that sends the string to a function that splits it and displays a ul.

now in the edit item template i have a checkbox list. When the user clicks the edit button, I want to reference the control and the dataitem, loop through it and select certain checkboxes.

I can reference the checkbox list fine, but how can i get the dataitem?
Or is there a better way to do this?
0
Dustin Hopkins
Asked:
Dustin Hopkins
  • 3
  • 2
1 Solution
 
prairiedogCommented:
>>>I want to reference the control and the dataitem,
Which control do you want to reference? The label?
0
 
Dustin HopkinsSenior Web DeveloperAuthor Commented:
No i want to reference the checkboxlist, did that with no problem.

Its the dataitem thats giving me the problem, i tried using the eval.databinder method like you would use in the onrowdatabound event, but its throwing object reference not set to an instance of the object.
0
 
prairiedogCommented:
Can you post the code that you reference the checkboxlist and the code you use to get the dataitem?
0
Get expert help—faster!

Need expert help—fast? Use the Help Bell for personalized assistance getting answers to your important questions.

 
Dustin HopkinsSenior Web DeveloperAuthor Commented:
Ok, I got it working, I just had to add this to my datarowbound event
If e.Row.RowState = DataControlRowState.Edit Or _
 (e.Row.RowState = (DataControlRowState.Alternate Or DataControlRowState.Edit)) Then
 
            Dim cbl As CheckBoxList = CType(e.Row.FindControl("cblComp"), CheckBoxList)
            If DataBinder.Eval(e.Row.DataItem, "reqComp").ToString() <> "" Then
                Dim traincomp() As String = DataBinder.Eval(e.Row.DataItem, "ReqComp").ToString.Split("|")
                For Each s As String In traincomp
                    cbl.Items.FindByValue(s).Selected = True
                Next
            End If
        End If

Open in new window

0
 
Smart_ManCommented:
do you mean to access the gridview.rowediting event ?

http://msdn.microsoft.com/en-us/library/system.web.ui.webcontrols.gridview.rowediting.aspx

waiting for your reply
0
 
Dustin HopkinsSenior Web DeveloperAuthor Commented:
No, I was having problems referencing the dataitem associtated with a row during the rowediting event. I didn't realize that that was done in the rowdatabound event. As the row rebinds when switching to an editing view. Basically i was storing a string of data in a single db column, seperated by pipes. Such as "one|two|three". Then I took this and broke it down and used it to fill a checkboxlist. Thanks though.
0
Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

Join & Write a Comment

Featured Post

Free Tool: SSL Checker

Scans your site and returns information about your SSL implementation and certificate. Helpful for debugging and validating your SSL configuration.

One of a set of tools we are providing to everyone as a way of saying thank you for being a part of the community.

  • 3
  • 2
Tackle projects and never again get stuck behind a technical roadblock.
Join Now