Loading ...

Get the first and last row for each child row

Who is online?  0 guests and 0 members
home  »  forums   »  codeasp.net community   »  open forum   » Get the first and last row for each child row

Get the first and last row for each child row

Posts under the topic: Get the first and last row for each child row

Posted: 12/3/2009

Lurker 15  points  Lurker
  • Joined on: 11/24/2009
  • Posts: 3

Hi All,

I am a newbie to ASP.NET and in need of you help, basically, I have a gridview that binded from two functions (type datatable). One function is parent which I past one parameter ("DeptID") while loading this table I also called the child funtion which get the parameter from the parent function ("FolderID"). The grid bind fine, but my tast is to place a down arrow at the first child row under the parent and an a up arrow at the last child row and the process repeated for each parent that have one or more rows.

This is where I have been banging head head trying to get this work but has no success.

Parent row data1
   Down arrow Child row data - first row
   up/down arrow Child row data
   up/down arrow Child row data
   up/down arrow Child row data
   up arrow Child row data - last row

Parent row data2
   Down arrow Child row data - first row
   up/down arrow Child row data
   up/down arrow Child row data
   up arrow Child row data - last row

Parent row data3
   Down arrow Child row data - first row
   up/down arrow Child row data
   up arrow Child row data - last row

Parent row data4
   Child row data - first row


Any assistance is greatly apprecaited. please provide codes example.

Thanks
DocHoliday.

Here are my codes behind VB:

Protected Sub DisplayParentGV()
Dim Conn As New SqlConnection(System.Web.Configuration.WebConfigurationManager.ConnectionStrings("mConn").ToString)
Dim SQLCmd As New SqlCommand("Get_Links_Name", conn)
Dim SQLDBDataReader As SqlClient.SqlDataReader
Dim dt As New DataTable()

Try
If conn.State = ConnectionState.Closed Then
conn.Open()
End If
SQLCmd.CommandType = CommandType.StoredProcedure
SQLCmd.Connection = conn
SQLCmd.Parameters.Add("@DeptID", SqlDbType.Int, 60).Value = Convert.ToInt32(Session("Dept_id"))

dt.Columns.Add(New DataColumn("FolderID", GetType(String)))
dt.Columns.Add(New DataColumn("FolderFileID", GetType(String)))
dt.Columns.Add(New DataColumn("ImageType", GetType(String)))
dt.Columns.Add(New DataColumn("Page", GetType(String)))
dt.Columns.Add(New DataColumn("FolderOrder", GetType(String)))
dt.Columns.Add(New DataColumn("Link_FileOrder", GetType(String)))

SQLDBDataReader = SQLCmd.ExecuteReader()

While SQLDBDataReader.Read()
Dim dr As DataRow = dt.NewRow()
Dim Pid As Integer = Convert.ToInt32(SQLDBDataReader("FolderID"))

dr("FolderID") = (SQLDBDataReader("FolderID"))
dr("FolderFileID") = Nothing
dr("ImageType") = Nothing
dr("Page") = (SQLDBDataReader("Foldername"))
dr("FolderOrder") = (SQLDBDataReader("FolderOrder"))
dr("Link_FileOrder") = Nothing
Session("ParentBottonRow") = dt.Rows.Count
dt.Rows.Add(dr)
Dim ChildTable As DataTable = DisplayChildGV(Pid.ToString())
For Each dro As DataRow In ChildTable.Rows

Dim dr2 As DataRow = dt.NewRow()
dr2("FolderFileID") = dro("FolderFileID")
dr2("ImageType") = dro("ImageType")
dr2("Page") = dro("Link_FileName")
dr2("Link_FileOrder") = dro("Link_FileOrder")
dt.Rows.Add(dr2)

Next
End While

SQLDBDataReader.Close()

Catch ex As Exception
Throw
Finally
SQLCmd.Dispose()
gvParent.DataSource = dt
gvParent.DataBind()
conn.Close()
End Try
End Sub

Protected Function DisplayChildGV(ByVal FolderID As String) As DataTable
Dim Con As New SqlConnection(System.Web.Configuration.WebConfigurationManager.ConnectionStrings("mConn").ToString)
Dim dt As New DataTable()

dt.Columns.Add(New DataColumn("FolderFileID", GetType(String)))
dt.Columns.Add(New DataColumn("ImageType", GetType(String)))
dt.Columns.Add(New DataColumn("Link_FileName", GetType(String)))
dt.Columns.Add(New DataColumn("Link_FileOrder", GetType(String)))

Dim SQLCmd2 As New SqlCommand("Get_Links_Folder_Name", Con)

Try
If Con.State = ConnectionState.Closed Then
Con.Open()
End If
SQLCmd2.CommandType = CommandType.StoredProcedure
SQLCmd2.Connection = Con
SQLCmd2.Parameters.Add("@FolderID", SqlDbType.Int, 60).Value = Convert.ToInt32(FolderID)
Dim SQLDBDataReader2 As SqlClient.SqlDataReader = SQLCmd2.ExecuteReader()
'SQLDBDataReader2 = SQLCmd2.ExecuteReader()

While SQLDBDataReader2.Read()
Dim dr2 As DataRow = dt.NewRow()
dr2("FolderFileID") = SQLDBDataReader2("FolderFileID")
If Not IsDBNull(SQLDBDataReader2("LinkURL")) Then
dr2("ImageType") = ResolveUrl("~/Images/icon-ie.gif")
Else
Select Case Mid(SQLDBDataReader2("Link_FileName"), InStrRev(SQLDBDataReader2("Link_FileName"), "."))
Case ".xls"
dr2("ImageType") = ResolveUrl("~/Images/icon-xls.gif")
Case ".doc"
dr2("ImageType") = ResolveUrl("~/Images/icon-doc.gif")
Case ".pdf"
dr2("ImageType") = ResolveUrl("~/Images/icon-pdf.gif")
Case ".ppt"
dr2("ImageType") = ResolveUrl("~/Images/icon-ppt.gif")
Case ".txt"
dr2("ImageType") = ResolveUrl("~/Images/icon-text.gif")
End Select
End If
dr2("Link_FileName") = SQLDBDataReader2("Link_FileName")
dr2("Link_FileName") = SQLDBDataReader2("Link_FileName")
dr2("Link_FileOrder") = SQLDBDataReader2("Link_FileOrder")
Session("ChildBottonRowBolean") = SQLDBDataReader2.Read().ToString
dt.Rows.Add(dr2)

End While
Return dt
Catch ex As Exception
Throw
Finally
SQLCmd2.Dispose()
'gvParent.DataSource = dt
'gvParent.DataBind()
Con.Close()
End Try
End Function


Page 1 of 1 (1 items)