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> |