2 Answers, 1 is accepted
0
Shinu
Top achievements
Rank 2
answered on 26 Mar 2012, 07:00 AM
Hi Seth,
I have tried the following code snippet to show ExpandCollapse for some rows based on some condition. Please take look into this and see if it helps.
Aspx:
C#:
Thanks,
Shinu.
I have tried the following code snippet to show ExpandCollapse for some rows based on some condition. Please take look into this and see if it helps.
Aspx:
<telerik:RadGrid ID="RadGrid1" DataSourceID="SqlDataSource1" runat="server" Skin="Sunset" Width="600px" AutoGenerateColumns="False" AllowSorting="True" AllowMultiRowSelection="true" GridLines="None" onprerender="RadGrid1_PreRender"> <PagerStyle Mode="NumericPages"></PagerStyle> <MasterTableView DataSourceID="SqlDataSource1" DataKeyNames="CustomerID" CommandItemDisplay="Top"> <DetailTables> <telerik:GridTableView DataKeyNames="OrderID" DataSourceID="SqlDataSource2" Width="100%" runat="server" CommandItemDisplay="Top" PageSize="10"> <ParentTableRelation> <telerik:GridRelationFields DetailKeyField="CustomerID" MasterKeyField="CustomerID" /> </ParentTableRelation <Columns> <telerik:GridBoundColumn SortExpression="OrderID" HeaderText="OrderID" HeaderButtonType="TextButton" DataField="OrderID" UniqueName="OrderID"> </telerik:GridBoundColumn> <telerik:GridBoundColumn SortExpression="OrderDate" HeaderText="Date Ordered" HeaderButtonType="TextButton" DataField="OrderDate" UniqueName="OrderDate"> </telerik:GridBoundColumn> <telerik:GridBoundColumn SortExpression="EmployeeID" HeaderText="EmployeeID" HeaderButtonType="TextButton" DataField="EmployeeID" UniqueName="EmployeeID"> </telerik:GridBoundColumn> <telerik:GridButtonColumn UniqueName="OrdersSelectColumn" CommandName="Select" Text="Select" /> <telerik:GridButtonColumn UniqueName="OrdersDeselectColumn" CommandName="Deselect" Text="Deselect" /> </Columns> </telerik:GridTableView> </DetailTables> <Columns> <telerik:GridBoundColumn SortExpression="CustomerID" HeaderText="CustomerID" HeaderButtonType="TextButton" DataField="CustomerID" UniqueName="CustomerID"> </telerik:GridBoundColumn> <telerik:GridBoundColumn SortExpression="ContactName" HeaderText="Contact Name" HeaderButtonType="TextButton" DataField="ContactName" UniqueName="ContactName"> </telerik:GridBoundColumn> <telerik:GridBoundColumn SortExpression="CompanyName" HeaderText="Company" HeaderButtonType="TextButton" DataField="CompanyName" UniqueName="CompanyName"> </telerik:GridBoundColumn> <telerik:GridButtonColumn UniqueName="CustomersSelectColumn" CommandName="Select" Text="Select" /> <telerik:GridButtonColumn UniqueName="CustomersSelectColumn" CommandName="Deselect" Text="Deselect" /> </Columns> </MasterTableView> </telerik:RadGrid> <asp:SqlDataSource ID="SqlDataSource1" runat="server" ConnectionString="<%$ ConnectionStrings:NorthwindConnectionString3 %>" SelectCommand="SELECT Top 10 * from [Customers]" ></asp:SqlDataSource> <asp:SqlDataSource ID="SqlDataSource2" runat="server" ConnectionString="<%$ ConnectionStrings:NorthwindConnectionString3 %>" SelectCommand="SELECT Top 10 * from [Orders]" > <SelectParameters> <asp:SessionParameter Name="CustomerID" SessionField="CustomerID" Type="string" /> </SelectParameters> </asp:SqlDataSource> C#:
protected void RadGrid1_PreRender(object sender, EventArgs e){ GridItem[] nestedViewItems = RadGrid1.MasterTableView.GetItems(GridItemType.NestedView); foreach (GridNestedViewItem nestedViewItem in nestedViewItems) { foreach (GridTableView nestedView in nestedViewItem.NestedTableViews) { TableCell cell = nestedView.ParentItem["ExpandColumn"]; if (nestedView.ParentItem["CustomerID"].Text == "ALFKI")// give your condition { cell.Controls[0].Visible = true; nestedViewItem.Visible = true; } else { cell.Controls[0].Visible = false; nestedViewItem.Visible = false; } } }} Thanks,
Shinu.
0
Seth
Top achievements
Rank 1
answered on 26 Mar 2012, 04:22 PM
Thank you for the reply, That worked with a small change as I do not have Detail Tables, but a NestedViewTemplate:
Dim nestedViewItems() As GridItem = rgStops.MasterTableView.GetItems(GridItemType.NestedView)For Each oNestedViewItem As GridNestedViewItem In nestedViewItems Dim oCell As TableCell = oNestedViewItem.ParentItem("ExpandColumn") If oNestedViewItem.ParentItem("StopLocationSts").Text = "O" And msStopLocationStsPrev = "C" Then oCell.Controls(0).Visible = True oNestedViewItem.Visible = True End If msStopLocationStsPrev = oNestedViewItem.ParentItem("StopLocationSts").TextNext