So, here is the code to use needdatasource event, but it seems nothing
happen after I expand the sub-category
P.S.: I have changed the sql object to oledb
Code-Behind
ASP Mark Up:
P.S.: I have changed the sql object to oledb
Code-Behind
Protected Sub RadGrid1_NeedDataSource(ByVal source As Object, ByVal e As GridNeedDataSourceEventArgs) Handles RadGrid1.NeedDataSource |
Dim cmd As New SqlCommand |
cmd.CommandText = "SELECT * FROM Products where CategoryID = @CategoryID" |
RadGrid1.DataSource = GetDataTable(cmd) |
End Sub |
Public Function GetDataTable(ByVal query As SqlCommand) As DataTable |
Dim ConnString As String = ConfigurationManager.ConnectionStrings("DBMXCatePro").ConnectionString |
Dim conn As SqlConnection = New SqlConnection(ConnString) |
Dim adapter As SqlDataAdapter = New SqlDataAdapter |
query.Connection = conn |
adapter.SelectCommand = query |
Dim table1 As New DataTable |
conn.Open() |
Try |
adapter.Fill(table1) |
Finally |
conn.Close() |
End Try |
Return table1 |
End Function |
ASP Mark Up:
<asp:AccessDataSource ID="AccessDataSource1" runat="server" |
DataFile="~/App_Data/dbmx_with_category.mdb" |
SelectCommand="SELECT * FROM [Categories] where isDelete = false"></asp:AccessDataSource> |
<asp:AccessDataSource ID="AccessDataSource2" DataFile="~/App_Data/dbmx_with_category.mdb" |
SelectCommand="SELECT * FROM [Products] where CategoryID= ? and IsDelete=false" runat="server"> |
<SelectParameters> |
<asp:Parameter Name="CategoryID" Type="Int32" /> |
</SelectParameters> |
</asp:AccessDataSource> |
<telerik:RadGrid ID="RadGrid1" runat="server" AutoGenerateDeleteColumn="True" |
AutoGenerateEditColumn="True" DataSourceID="AccessDataSource1" GridLines="None"> |
<MasterTableView AutoGenerateColumns="False" DataKeyNames="categoryID" |
DataSourceID="AccessDataSource1" HierarchyLoadMode="ServerBind"> |
<RowIndicatorColumn> |
<HeaderStyle Width="20px"></HeaderStyle> |
</RowIndicatorColumn> |
<SelfHierarchySettings KeyName="categoryID" ParentKeyName="categoryParentID" /> |
<Columns> |
<telerik:GridBoundColumn DataField="categoryID" DataType="System.Int32" |
HeaderText="categoryID" ReadOnly="True" SortExpression="categoryID" |
UniqueName="categoryID"> |
</telerik:GridBoundColumn> |
<telerik:GridBoundColumn DataField="categoryTitle" HeaderText="categoryTitle" |
SortExpression="categoryTitle" UniqueName="categoryTitle"> |
</telerik:GridBoundColumn> |
<telerik:GridBoundColumn DataField="categoryIcon" HeaderText="categoryIcon" |
SortExpression="categoryIcon" UniqueName="categoryIcon"> |
</telerik:GridBoundColumn> |
<telerik:GridBoundColumn DataField="categorySequence" DataType="System.Int32" |
HeaderText="categorySequence" SortExpression="categorySequence" |
UniqueName="categorySequence"> |
</telerik:GridBoundColumn> |
<telerik:GridBoundColumn DataField="categoryParentID" DataType="System.Int32" |
HeaderText="categoryParentID" SortExpression="categoryParentID" |
UniqueName="categoryParentID"> |
</telerik:GridBoundColumn> |
<telerik:GridCheckBoxColumn DataField="isDelete" DataType="System.Boolean" |
HeaderText="isDelete" SortExpression="isDelete" UniqueName="isDelete"> |
</telerik:GridCheckBoxColumn> |
</Columns> |
</MasterTableView> |
</telerik:RadGrid> |