Replies
Lyuba,
I followed your steps to create the webhierarchical grid, but I cannot see the arrows for the top level rows. I am not sure why? Can you please help me. I am using the assembly "Infragistics35.Web.v9.2, Version=9.2.20092.1003".
Here is my aspx code:
<asp:ScriptManager ID="ScriptManager1" runat="server">
</asp:ScriptManager>
<ig:WebHierarchicalDataGrid DataKeyFields="FinStmtGroup"
ID="WebHierarchicalDataGrid1"
runat="server"
Height="350px"
Width="90%"
OnInitializeRow="WebHierarchicalDataGrid1_InitializeRow"
OnPreRender="WebHierarchicalDataGrid1_PreRender"
OnRowIslandsPopulating="WebHierarchicalDataGrid1_RowIslandsPopulating"
>
</ig:WebHierarchicalDataGrid>
And here is my aspx.vb file code:
Protected Sub WebHierarchicalDataGrid1_InitializeRow(ByVal sender As Object, ByVal e As Infragistics.Web.UI.GridControls.RowEventArgs) Handles WebHierarchicalDataGrid1.InitializeRow
' don't show the arrow for the last level
If DirectCast(e.Row, ContainerGridRecord).Level < 2 Then
DirectCast(e.Row, ContainerGridRecord).IsEmptyParent = True
End If
End Sub
Protected Sub WebHierarchicalDataGrid1_PreRender(ByVal sender As Object, ByVal e As System.EventArgs) Handles WebHierarchicalDataGrid1.PreRender
If Not IsPostBack Then
For Each row As ContainerGridRecord In WebHierarchicalDataGrid1.GridView.Rows
row.IsEmptyParent = True
Next
End If
End Sub
Protected Sub WebHierarchicalDataGrid1_RowIslandsPopulating(ByVal sender As Object, ByVal e As Infragistics.Web.UI.GridControls.ContainerRowCancelEventArgs) Handles WebHierarchicalDataGrid1.RowIslandsPopulating
'Cancel the default automatic load on demand operation
e.Cancel = True
Select Case e.Row.Level
Case 0
BindSecondLevel(e)
Exit Select
Case 1
BindThirdLevel(e)
Exit Select
End Select
End Sub
Private Sub BindGrid()
Dim Conn As SqlConnection = New SqlConnection(ConfigurationManager.ConnectionStrings("").ConnectionString)
Dim Cmd As SqlCommand = New SqlCommand()
Cmd.Connection = Conn
Dim paramBrID As SqlParameter = New SqlParameter
Dim paramStratDt As SqlParameter = New SqlParameter
Dim parmStopDt As SqlParameter = New SqlParameter
Dim paramFinStmtGroup As SqlParameter = New SqlParameter
Dim paramLoanNo As SqlParameter = New SqlParameter
Dim paramLoanOfficer As SqlParameter = New SqlParameter
Dim paramVendor As SqlParameter = New SqlParameter
Dim paramGridLevel As SqlParameter = New SqlParameter
Try
Conn.Open()
Cmd.CommandText = "dbo.SelectAMBTransactionsProc"
Cmd.CommandType = CommandType.StoredProcedure
With paramBrID
.ParameterName = "@BrID"
.Direction = ParameterDirection.Input
.SqlDbType = SqlDbType.Int
End With
'paramBrID.Value = Session("BrID")
paramBrID.Value = 1
Cmd.Parameters.Add(paramBrID)
With paramStratDt
.ParameterName = "@StartDt"
.Direction = ParameterDirection.Input
.SqlDbType = SqlDbType.DateTime
End With
paramStratDt.Value = "01/01/2010"
Cmd.Parameters.Add(paramStratDt)
With parmStopDt
.ParameterName = "@StopDt"
.Direction = ParameterDirection.Input
.SqlDbType = SqlDbType.DateTime
End With
parmStopDt.Value = "09/01/2010"
Cmd.Parameters.Add(parmStopDt)
With paramFinStmtGroup
.ParameterName = "@FinStmtGroup"
.Direction = ParameterDirection.Input
.SqlDbType = SqlDbType.VarChar
End With
paramFinStmtGroup.Value = "ALL"
Cmd.Parameters.Add(paramFinStmtGroup)
With paramLoanNo
.ParameterName = "@LoanNo"
.Direction = ParameterDirection.Input
.SqlDbType = SqlDbType.VarChar
End With
paramLoanNo.Value = DBNull.Value
Cmd.Parameters.Add(paramLoanNo)
With paramLoanOfficer
.ParameterName = "@LoanOfficer"
.Direction = ParameterDirection.Input
.SqlDbType = SqlDbType.VarChar
End With
paramLoanOfficer.Value = "ALL"
Cmd.Parameters.Add(paramLoanOfficer)
With paramVendor
.ParameterName = "@vendor"
.Direction = ParameterDirection.Input
.SqlDbType = SqlDbType.VarChar
End With
paramVendor.Value = "Roger"
Cmd.Parameters.Add(paramVendor)
With paramGridLevel
.ParameterName = "@GridLevel"
.Direction = ParameterDirection.Input
.SqlDbType = SqlDbType.SmallInt
End With
paramGridLevel.Value = 1
Cmd.Parameters.Add(paramGridLevel)
Dim _DataSet As New DataSet()
Dim _DataAdapter As SqlDataAdapter
_DataAdapter = New SqlDataAdapter(Cmd)
_DataAdapter.Fill(_DataSet, "FirstLevelDataTable")
WebHierarchicalDataGrid1.DataSource = _DataSet
WebHierarchicalDataGrid1.DataBind()
Catch ex As Exception
End Try
End Sub
Private Sub BindSecondLevel(ByVal e As Infragistics.Web.UI.GridControls.ContainerRowCancelEventArgs)
' Get the data key
Dim _FinStmtGroup As String = e.Row.DataKey(0)
Dim Conn As SqlConnection = New SqlConnection(ConfigurationManager.ConnectionStrings("").ConnectionString)
Dim Cmd As SqlCommand = New SqlCommand()
Cmd.Connection = Conn
Dim paramBrID As SqlParameter = New SqlParameter
Dim paramStratDt As SqlParameter = New SqlParameter
Dim parmStopDt As SqlParameter = New SqlParameter
Dim paramFinStmtGroup As SqlParameter = New SqlParameter
Dim paramLoanNo As SqlParameter = New SqlParameter
Dim paramLoanOfficer As SqlParameter = New SqlParameter
Dim paramVendor As SqlParameter = New SqlParameter
Dim paramGridLevel As SqlParameter = New SqlParameter
Conn.Open()
Cmd.CommandText = "dbo.SelectAMBTransactionsProc"
Cmd.CommandType = CommandType.StoredProcedure
With paramBrID
.ParameterName = "@BrID"
.Direction = ParameterDirection.Input
.SqlDbType = SqlDbType.Int
End With
'paramBrID.Value = Session("BrID")
paramBrID.Value = 1
Cmd.Parameters.Add(paramBrID)
With paramStratDt
.ParameterName = "@StartDt"
.Direction = ParameterDirection.Input
.SqlDbType = SqlDbType.DateTime
End With
paramStratDt.Value = "01/01/2010"
Cmd.Parameters.Add(paramStratDt)
With parmStopDt
.ParameterName = "@StopDt"
.Direction = ParameterDirection.Input
.SqlDbType = SqlDbType.DateTime
End With
parmStopDt.Value = "09/01/2010"
Cmd.Parameters.Add(parmStopDt)
With paramFinStmtGroup
.ParameterName = "@FinStmtGroup"
.Direction = ParameterDirection.Input
.SqlDbType = SqlDbType.VarChar
End With
paramFinStmtGroup.Value = _FinStmtGroup
Cmd.Parameters.Add(paramFinStmtGroup)
With paramLoanNo
.ParameterName = "@LoanNo"
.Direction = ParameterDirection.Input
.SqlDbType = SqlDbType.VarChar
End With
paramLoanNo.Value = "All"
Cmd.Parameters.Add(paramLoanNo)
With paramLoanOfficer
.ParameterName = "@LoanOfficer"
.Direction = ParameterDirection.Input
.SqlDbType = SqlDbType.VarChar
End With
paramLoanOfficer.Value = DBNull.Value
Cmd.Parameters.Add(paramLoanOfficer)
With paramVendor
.ParameterName = "@vendor"
.Direction = ParameterDirection.Input
.SqlDbType = SqlDbType.VarChar
End With
paramVendor.Value = "Roger"
Cmd.Parameters.Add(paramVendor)
With paramGridLevel
.ParameterName = "@GridLevel"
.Direction = ParameterDirection.Input
.SqlDbType = SqlDbType.SmallInt
End With
paramGridLevel.Value = 2
Cmd.Parameters.Add(paramGridLevel)
Dim _DataSet As New DataSet()
Dim _DataAdapter As SqlDataAdapter
_DataAdapter = New SqlDataAdapter(Cmd)
_DataAdapter.Fill(_DataSet, "SecondLevelDataTable")
' Create Container Grid
Dim childGrid As New ContainerGrid()
e.Row.RowIslands.Add(childGrid)
' Bind Grid
childGrid.DataKeyFields = "FinStmtGroup"
childGrid.Level = 1
childGrid.DataSource = _DataSet
childGrid.DataBind()
End Sub
Private Sub BindThirdLevel(ByVal e As Infragistics.Web.UI.GridControls.ContainerRowCancelEventArgs)
' Get the data key
Dim _FinStmtGroup As String = e.Row.DataKey(0)
Dim Conn As SqlConnection = New SqlConnection(ConfigurationManager.ConnectionStrings("").ConnectionString)
Dim Cmd As SqlCommand = New SqlCommand()
Cmd.Connection = Conn
Dim paramBrID As SqlParameter = New SqlParameter
Dim paramStratDt As SqlParameter = New SqlParameter
Dim parmStopDt As SqlParameter = New SqlParameter
Dim paramFinStmtGroup As SqlParameter = New SqlParameter
Dim paramLoanNo As SqlParameter = New SqlParameter
Dim paramLoanOfficer As SqlParameter = New SqlParameter
Dim paramVendor As SqlParameter = New SqlParameter
Dim paramGridLevel As SqlParameter = New SqlParameter
Conn.Open()
Cmd.CommandText = "dbo.SelectAMBTransactionsProc"
Cmd.CommandType = CommandType.StoredProcedure
With paramBrID
.ParameterName = "@BrID"
.Direction = ParameterDirection.Input
.SqlDbType = SqlDbType.Int
End With
'paramBrID.Value = Session("BrID")
paramBrID.Value = 1
Cmd.Parameters.Add(paramBrID)
With paramStratDt
.ParameterName = "@StartDt"
.Direction = ParameterDirection.Input
.SqlDbType = SqlDbType.DateTime
End With
paramStratDt.Value = "01/01/2010"
Cmd.Parameters.Add(paramStratDt)
With parmStopDt
.ParameterName = "@StopDt"
.Direction = ParameterDirection.Input
.SqlDbType = SqlDbType.DateTime
End With
parmStopDt.Value = "09/01/2010"
Cmd.Parameters.Add(parmStopDt)
With paramFinStmtGroup
.ParameterName = "@FinStmtGroup"
.Direction = ParameterDirection.Input
.SqlDbType = SqlDbType.VarChar
End With
paramFinStmtGroup.Value = _FinStmtGroup
Cmd.Parameters.Add(paramFinStmtGroup)
With paramLoanNo
.ParameterName = "@LoanNo"
.Direction = ParameterDirection.Input
.SqlDbType = SqlDbType.VarChar
End With
paramLoanNo.Value = "All"
Cmd.Parameters.Add(paramLoanNo)
With paramLoanOfficer
.ParameterName = "@LoanOfficer"
.Direction = ParameterDirection.Input
.SqlDbType = SqlDbType.VarChar
End With
paramLoanOfficer.Value = DBNull.Value
Cmd.Parameters.Add(paramLoanOfficer)
With paramVendor
.ParameterName = "@vendor"
.Direction = ParameterDirection.Input
.SqlDbType = SqlDbType.VarChar
End With
paramVendor.Value = "Roger"
Cmd.Parameters.Add(paramVendor)
With paramGridLevel
.ParameterName = "@GridLevel"
.Direction = ParameterDirection.Input
.SqlDbType = SqlDbType.SmallInt
End With
paramGridLevel.Value = 3
Cmd.Parameters.Add(paramGridLevel)
Dim _DataSet As New DataSet()
Dim _DataAdapter As SqlDataAdapter
_DataAdapter = New SqlDataAdapter(Cmd)
_DataAdapter.Fill(_DataSet, "ThirdLevelDataTable")
' Create Container Grid
Dim childGrid As New ContainerGrid()
e.Row.RowIslands.Add(childGrid)
' Bind Grid
childGrid.DataKeyFields = "FinStmtGroup"
childGrid.Level = 2
childGrid.DataSource = _DataSet
childGrid.DataBind()
End Sub