Telerik Forums
UI for ASP.NET AJAX Forum
1 answer
217 views
Hi

A co-worker of mine has changed some of our grids so the columns size to fit the data.

However this leaves some area of the grid blank when the available width is large.

Is there any way to have the last column snp to fit the remaining width.

This is particularly unsightly, in my opinion, when there are alternating colors on the grid rows.

Here is the grid definition.

 

 

<telerik:RadGrid ID="radGridPolicy" runat="server"

 

 

 

AllowFilteringByColumn="true"

 

 

 

AllowMultiRowSelection="true"

 

 

 

AllowPaging="true"

 

 

 

AllowSorting="true"

 

 

 

AlternatingItemStyle-Wrap="false"

 

 

 

AutoGenerateColumns="false"

 

 

 

ClientSettings-AllowColumnsReorder="true"

 

 

 

ClientSettings-AllowKeyboardNavigation="false"

 

 

 

ClientSettings-EnablePostBackOnRowClick="true"

 

 

 

ClientSettings-ReorderColumnsOnClient="true"

 

 

 

ClientSettings-Resizing-AllowColumnResize="true"

 

 

 

ClientSettings-Resizing-AllowResizeToFit="true"

 

 

 

ClientSettings-Resizing-EnableRealTimeResize="true"

 

 

 

ClientSettings-Resizing-ResizeGridOnColumnResize="true"

 

 

 

ClientSettings-Scrolling-AllowScroll="true"

 

 

 

ClientSettings-Scrolling-UseStaticHeaders="true"

 

 

 

ClientSettings-Selecting-AllowRowSelect="true"

 

 

 

ClientSettings-Selecting-EnableDragToSelectRows="true"

 

 

 

 

FilterMenu-EnableImageSprites="false"

 

 

 

HeaderContextMenu-CssClass="GridContextMenu GridContextMenu_Default"

 

 

 

HeaderStyle-Font-Bold="true"

 

 

 

HeaderStyle-Wrap="false"

 

 

 

Height="100%"

 

 

 

ItemStyle-Wrap="false"

 

 

 

 

OnItemCommand="radGridPolicy_ItemCommand"

 

 

 

OnItemCreated="radGridPolicy_ItemCreated"

 

 

 

OnItemDataBound="radGridPolicy_ItemDataBound"

 

 

 

OnNeedDataSource="radGridPolicy_NeedDataSource"

 

 

 

 

PagerStyle-Mode="NextPrevAndNumeric"

 

 

 

PageSize="40">

 

 

 

<MasterTableView AutoGenerateColumns="false" CommandItemDisplay="Top">

 

 

 

<CommandItemSettings ExportToPdfText="Export to PDF" />

 

 

 

<RowIndicatorColumn FilterControlAltText="Filter RowIndicator column" />

 

 

 

<ExpandCollapseColumn FilterControlAltText="Filter ExpandColumn column" />

 

 

 

<Columns>

 

 

 

<telerik:GridClientSelectColumn HeaderStyle-Width="30px" />

 

 

 

<telerik:GridBoundColumn DataField="TenantId"

 

 

 

Display="False"

 

 

 

HeaderText="TenantID"

 

 

 

UniqueName="TenantID">

 

 

 

</telerik:GridBoundColumn>

 

 

 

<telerik:GridBoundColumn DataField="PolicyId"

 

 

 

Display="False"

 

 

 

HeaderText="PolicyID"

 

 

 

UniqueName="PolicyID">

 

 

 

</telerik:GridBoundColumn>

 

 

 

<telerik:GridBoundColumn DataField="PolicyType"

 

 

 

Display="False"

 

 

 

HeaderText="PolicyType"

 

 

 

UniqueName="PolicyType">

 

 

 

</telerik:GridBoundColumn>

 

 

 

<telerik:GridBoundColumn DataField="PolicySubType"

 

 

 

Display="False"

 

 

 

HeaderText="PolicySubType"

 

 

 

UniqueName="PolicySubType">

 

 

 

</telerik:GridBoundColumn>

 

 

 

<telerik:GridBoundColumn DataField="SupportedClients"

 

 

 

Display="False"

 

 

 

HeaderText="ClientType"

 

 

 

UniqueName="ClientType">

 

 

 

</telerik:GridBoundColumn>

 

 

 

 

<telerik:GridBoundColumn DataField="Enabled" HeaderStyle-HorizontalAlign="Center"

 

 

 

FilterControlAltText="Filter State column" HeaderText="State" ItemStyle-HorizontalAlign="Center"

 

 

 

SortExpression="PolicyState" UniqueName="PolicyState" >

 

 

 

<FilterTemplate>

 

 

 

<telerik:RadComboBox ID="FilterPolicyByState" runat="server" Width="40px" DropDownWidth="250px"

 

 

 

SelectedValue='<%# ((GridItem)Container).OwnerTableView.GetColumn("PolicyState").CurrentFilterValue %>'

 

 

 

OnClientLoad="OnPolicyStateLoad" OnClientSelectedIndexChanged="OnPolicyStateIndexChanged" >

 

 

 

<Items>

 

 

 

<telerik:RadComboBoxItem Text="" Value="-1" Selected="True" />

 

 

 

<telerik:RadComboBoxItem Text="Published" Value="1" ImageUrl="~/Images/toolApprove.png" ToolTip="Published" />

 

 

 

<telerik:RadComboBoxItem Text="Unpublished" Value="0" ImageUrl="~/Images/toolUnapprove.png" ToolTip="Unpublished" />

 

 

 

</Items>

 

 

 

</telerik:RadComboBox>

 

 

 

 

<telerik:RadScriptBlock ID="RadScriptBlockPolicyState" runat="server">

 

 

 

<script type="text/javascript">

 

 

 

function OnPolicyStateLoad(sender)

 

{

 

 

var inputArea = sender.get_inputDomElement();

 

 

 

var selVal = sender.get_selectedIndex();

 

 

 

//debugger;

 

 

 

if (selVal != 0)

 

{

inputArea.style.background =

 

"url(" + sender.get_items().getItem(selVal).get_imageUrl() + ") no-repeat ";

 

}

 

sender.set_text(

 

"");

 

}

 

 

function OnPolicyStateIndexChanged(sender, args)

 

{

 

 

var masterTable = $find( "<%= radGridPolicy.ClientID %>" ).get_masterTableView();

 

 

 

var value = args.get_item().get_value();

 

 

 

var item = args.get_item();

 

 

 

//debugger;

 

 

 

if ( value != -1 )

 

{

masterTable.filter(

 

"PolicyState", value, Telerik.Web.UI.GridFilterFunction.EqualTo );

 

}

 

 

else

 

{

masterTable.filter(

 

"PolicyState", "", Telerik.Web.UI.GridFilterFunction.NoFilter );

 

 

sender.set_selectedIndex(0);

}

sender.set_text(

 

"");

 

}

 

 

</script>

 

 

 

</telerik:RadScriptBlock>

 

 

 

</FilterTemplate>

 

 

 

</telerik:GridBoundColumn>

 

 

 

<telerik:GridBoundColumn DataField="PolicyType"

 

 

 

FilterControlAltText="Filter Type column" HeaderText="Type"

 

 

 

SortExpression="PolicyType" UniqueName="PolicyTypeImage" >

 

 

 

<FilterTemplate>

 

 

 

<telerik:RadComboBox ID="FilterPolicyByType" runat="server" Width="40px" DropDownWidth="200px"

 

 

 

SelectedValue='<%# ((GridItem)Container).OwnerTableView.GetColumn("PolicyTypeImage").CurrentFilterValue %>'

 

 

 

OnClientLoad="OnPolicyTypeLoad" OnClientSelectedIndexChanged="OnPolicyTypeIndexChanged" >

 

 

 

<Items>

 

 

 

</Items>

 

 

 

</telerik:RadComboBox>

 

 

 

 

<telerik:RadScriptBlock ID="RadScriptBlockPolicyType" runat="server">

 

 

 

<script type="text/javascript">

 

 

 

function OnPolicyTypeLoad(sender)

 

{

 

 

var inputArea = sender.get_inputDomElement();

 

 

 

var selVal = sender.get_selectedIndex();

 

 

 

//debugger;

 

 

 

if (selVal != 0)

 

{

inputArea.style.background =

 

"url(" + sender.get_items().getItem(selVal).get_imageUrl() + ") no-repeat ";

 

}

sender.set_text(

 

"");

 

}

 

 

function OnPolicyTypeIndexChanged(sender, args)

 

{

 

 

var masterTable = $find("<%= radGridPolicy.ClientID %>").get_masterTableView();

 

 

 

var value = args.get_item().get_value();

 

 

 

var item = args.get_item();

 

 

 

//debugger;

 

 

 

if (value != -1)

 

{

masterTable.filter(

 

"PolicyTypeImage", value, Telerik.Web.UI.GridFilterFunction.EqualTo);

 

}

 

 

else

 

{

masterTable.filter(

 

"PolicyTypeImage", "", Telerik.Web.UI.GridFilterFunction.NoFilter);

 

sender.set_selectedIndex(0);

}

sender.set_text(

 

"");

 

}

 

 

</script>

 

 

 

</telerik:RadScriptBlock>

 

 

 

</FilterTemplate>

 

 

 

<ItemStyle HorizontalAlign="Center"></ItemStyle>

 

 

 

</telerik:GridBoundColumn>

 

 

 

<telerik:GridBoundColumn DataField="SupportedClients"

 

 

 

FilterControlAltText="Filter Client Type column"

 

 

 

HeaderText="OS"

 

 

 

SortExpression="ClientType"

 

 

 

UniqueName="ClientTypeImage" DataType="System.Int32">

 

 

 

<FilterTemplate>

 

 

 

<telerik:RadComboBox ID="FilterPolicyByClientType" runat="server" Width="40px" DropDownWidth="250px"

 

 

 

SelectedValue='<%# ((GridItem)Container).OwnerTableView.GetColumn("ClientTypeImage").CurrentFilterValue %>'

 

 

 

OnClientLoad="OnPolicyClientTypeLoad" OnClientSelectedIndexChanged="OnPolicyClientTypeIndexChanged" ClientIDMode="Static">

 

 

 

<Items>

 

 

 

</Items>

 

 

 

</telerik:RadComboBox>

 

 

 

 

<telerik:RadScriptBlock ID="RadScriptBlockPolicyClientType" runat="server">

 

 

 

<script type="text/javascript">

 

 

 

function OnPolicyClientTypeLoad(sender)

 

{

 

 

var inputArea = sender.get_inputDomElement();

 

 

 

var selVal = sender.get_selectedIndex();

 

 

 

//debugger;

 

 

 

if (selVal != 0)

 

{

inputArea.style.background =

 

"url(" + sender.get_items().getItem(selVal).get_imageUrl() + ") no-repeat ";

 

}

sender.set_text(

 

"");

 

}

 

 

function OnPolicyClientTypeIndexChanged(sender, args)

 

{

 

 

var masterTable = $find("<%= radGridPolicy.ClientID %>").get_masterTableView();

 

 

 

var value = args.get_item().get_value();

 

 

 

var item = args.get_item();

 

 

 

//debugger;

 

 

 

if (value != 0)

 

{

masterTable.filter(

 

"ClientTypeImage", value, Telerik.Web.UI.GridFilterFunction.EqualTo);

 

}

 

 

else

 

{

masterTable.filter(

 

"ClientTypeImage", "", Telerik.Web.UI.GridFilterFunction.NoFilter);

 

sender.set_selectedIndex(0);

}

sender.set_text(

 

"");

 

}

 

 

</script>

 

 

 

</telerik:RadScriptBlock>

 

 

 

</FilterTemplate>

 

 

 

<ItemStyle HorizontalAlign="Center"></ItemStyle>

 

 

 

</telerik:GridBoundColumn>

 

 

 

<telerik:GridBoundColumn DataField="Name" HeaderText="Policy"

 

 

 

DataFormatString="<nobr>{0}</nobr>"

 

 

 

FilterControlAltText="Filter Name column"

 

 

 

SortExpression="Name"

 

 

 

UniqueName="Name">

 

 

 

</telerik:GridBoundColumn>

 

 

 

 

<telerik:GridBoundColumn DataField="Description" HeaderText="Note"

 

 

 

DataFormatString="<nobr>{0}</nobr>"

 

 

 

FilterControlAltText="Filter Description column"

 

 

 

SortExpression="Description"

 

 

 

UniqueName="Note">

 

 

 

</telerik:GridBoundColumn>

 

 

 

 

<telerik:GridBoundColumn DataField="UpdateTime"

 

 

 

DataType="System.DateTime" DataFormatString="<nobr>{0}</nobr>"

 

 

 

FilterControlAltText="Filter last update column"

 

 

 

HeaderText="Last Modified"

 

 

 

SortExpression="LastUpdate"

 

 

 

UniqueName="LastUpdate">

 

 

 

<FilterTemplate>

 

 

 

<telerik:RadDateTimePicker ID="RadDateTimePicker1"

 

 

 

runat="server" DateInput-DisplayDateFormat="MMMM dd, yyyy hh:mm:ss">

 

 

 

</telerik:RadDateTimePicker>

 

 

 

</FilterTemplate>

 

 

 

</telerik:GridBoundColumn>

 

 

 

</Columns>

 

 

 

<EditFormSettings>

 

 

 

<EditColumn FilterControlAltText="Filter EditCommandColumn column"></EditColumn>

 

 

 

</EditFormSettings>

 

 

 

<CommandItemTemplate>

 

 

 

 

<grid:PolicyToolbar ID="PolicyGridToolbar" runat="server" ClientIDMode="Static" />

 

 

 

</CommandItemTemplate>

 

 

 

</MasterTableView>

 

 

 

</telerik:RadGrid>

 


I would like the LastUpdate column to stretch to fill all the available widht of the grid.

TIA 
Jayesh Goyani
Top achievements
Rank 2
 answered on 14 Nov 2011
1 answer
53 views
I am filtering my grid with a drop down.  I would like to apply multiple values to the filter.
In my drop down I have these item appended to my databound list
AppendDataBoundItems="true"
<Items>
   <telerik:RadComboBoxItem Text="All" />
   <telerik:RadComboBoxItem Text="All Open" Value="ALL Open" />
</Items>

So for example, filter on column status, value of ALL Open  I would want to do something like this:  ([Status] = 'Open' OR [Status] = 'Hold')
Looking at the help I don't see how to filter mutiple values, unless the "Custom" option fits this?
I only see how to filter single values like this:  tableView.filter("Status", filterVal,"EqualTo"); 
http://www.telerik.com/help/aspnet-ajax/grid-gridtableview-filter.html


Thanks
Princy
Top achievements
Rank 2
 answered on 14 Nov 2011
1 answer
77 views
Hi,
We have a RADGrid with check box column. While exporting the data to excel we get the check box column as boolean. We would like to hide this coulmn being exported. Can you please help us? Thanks in advance.

Regards
Sridharan
Shinu
Top achievements
Rank 2
 answered on 14 Nov 2011
5 answers
279 views
Is it possible to increase rad loading panel showing duration?
If I run a huge query of report, loading panel is hiding after a few seconds. How can I show loading panel all the time query is executing and page is loading
Jayesh Goyani
Top achievements
Rank 2
 answered on 14 Nov 2011
1 answer
259 views
HI,

The value entered in the text box is getting cleared when the submit button is clicked, The same is not happening when doing the same action second time.
Meaning : once the text is getting cleared on the button clicked reenter the same value once again in the same text box and click the button the data is not getting cleared.
Not sure why is that happening. Pls. suggest me how to go about it.

Thanks
Jidesh
Shinu
Top achievements
Rank 2
 answered on 14 Nov 2011
1 answer
139 views
Hi
I'm creating the radgrid in usercontrol,using that user control in one aspx page. When user redirects to aspx page there I'm showing radgrid.
In aspx page I'm getting the radgrid of usercontrol and try to set the height from code behind like as
Grid.Height=unit.percentage(95); like that but its not working.
How can I set the height of grid aspx page not in usercontrl.
Please help me.
Princy
Top achievements
Rank 2
 answered on 14 Nov 2011
1 answer
127 views
Dear Support team

I wanted to create a RadGrid with self-referencing hierarchy so i did what ever was written in documentation. now the table shows up with collapse/expand column but it doesn't show chid hierarch.
Please help me to solve the issue.


<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="Default" %>
 
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
 
<head runat="server">
    <title></title>
    <telerik:RadStyleSheetManager id="RadStyleSheetManager1" runat="server" />
</head>
<body>
    <form id="form1" runat="server">
    <telerik:RadScriptManager ID="RadScriptManager1" runat="server"
        EnableTheming="True">
        <Scripts>
            <asp:ScriptReference Assembly="Telerik.Web.UI"
                Name="Telerik.Web.UI.Common.Core.js">
            </asp:ScriptReference>
            <asp:ScriptReference Assembly="Telerik.Web.UI"
                Name="Telerik.Web.UI.Common.jQuery.js">
            </asp:ScriptReference>
            <asp:ScriptReference Assembly="Telerik.Web.UI"
                Name="Telerik.Web.UI.Common.jQueryInclude.js">
            </asp:ScriptReference>
            <asp:ScriptReference Assembly="Telerik.Web.UI"
                Name="Telerik.Web.UI.Common.jQueryInclude.js">
            </asp:ScriptReference>
            <asp:ScriptReference Assembly="Telerik.Web.UI"
                Name="Telerik.Web.UI.Common.jQuery.js">
            </asp:ScriptReference>
            <asp:ScriptReference Assembly="Telerik.Web.UI"
                Name="Telerik.Web.UI.Common.Core.js">
            </asp:ScriptReference>
        </Scripts>
    </telerik:RadScriptManager>
    <asp:SqlDataSource ID="SqlDataSource1" runat="server"
        ConnectionString="<%$ ConnectionStrings:ConnectionString %>"
        DeleteCommand="DELETE FROM [Parts] WHERE [PartID] = @PartID"
        InsertCommand="INSERT INTO [Parts] ([Part Name], [ParentID]) VALUES (@Part_Name, @ParentID)"
        SelectCommand="SELECT * FROM [Parts]"
        UpdateCommand="UPDATE [Parts] SET [Part Name] = @Part_Name, [ParentID] = @ParentID WHERE [PartID] = @PartID">
        <DeleteParameters>
            <asp:Parameter Name="PartID" Type="Int32" />
        </DeleteParameters>
        <InsertParameters>
            <asp:Parameter Name="Part_Name" Type="String" />
            <asp:Parameter Name="ParentID" Type="Int32" />
        </InsertParameters>
        <UpdateParameters>
            <asp:Parameter Name="Part_Name" Type="String" />
            <asp:Parameter Name="ParentID" Type="Int32" />
            <asp:Parameter Name="PartID" Type="Int32" />
        </UpdateParameters>
    </asp:SqlDataSource>
    <telerik:RadGrid ID="RadGrid1" runat="server" AllowAutomaticDeletes="True"
        AllowAutomaticInserts="True" AllowAutomaticUpdates="True"
        AutoGenerateHierarchy="True" CellSpacing="0" DataSourceID="SqlDataSource1"
        GridLines="None">
<MasterTableView AutoGenerateColumns="False" DataKeyNames="PartID,ParentID"
            DataSourceID="SqlDataSource1">
    <SelfHierarchySettings KeyName="PartID" ParentKeyName="`" />
<CommandItemSettings ExportToPdfText="Export to PDF"></CommandItemSettings>
 
<RowIndicatorColumn FilterControlAltText="Filter RowIndicator column">
<HeaderStyle Width="20px"></HeaderStyle>
</RowIndicatorColumn>
 
<ExpandCollapseColumn FilterControlAltText="Filter ExpandColumn column">
<HeaderStyle Width="20px"></HeaderStyle>
</ExpandCollapseColumn>
 
    <Columns>
        <telerik:GridBoundColumn DataField="PartID" DataType="System.Int32"
            FilterControlAltText="Filter PartID column" HeaderText="PartID" ReadOnly="True"
            SortExpression="PartID" UniqueName="PartID">
        </telerik:GridBoundColumn>
        <telerik:GridBoundColumn DataField="Part Name"
            FilterControlAltText="Filter Part Name column" HeaderText="Part Name"
            SortExpression="Part Name" UniqueName="Part Name">
        </telerik:GridBoundColumn>
        <telerik:GridBoundColumn DataField="ParentID" DataType="System.Int32"
            FilterControlAltText="Filter ParentID column" HeaderText="ParentID"
            SortExpression="ParentID" UniqueName="ParentID">
        </telerik:GridBoundColumn>
    </Columns>
 
<EditFormSettings>
<EditColumn FilterControlAltText="Filter EditCommandColumn column"></EditColumn>
</EditFormSettings>
</MasterTableView>
 
<FilterMenu EnableImageSprites="False"></FilterMenu>
 
<HeaderContextMenu CssClass="GridContextMenu GridContextMenu_Default"></HeaderContextMenu>
    </telerik:RadGrid>
    <script type="text/javascript">
        //Put your Java Script code here.
    </script>
    <telerik:RadAjaxManager ID="RadAjaxManager1" runat="server">
    </telerik:RadAjaxManager>
  
    <telerik:RadSkinManager ID="RadSkinManager1" Runat="server" Skin="WebBlue">
    </telerik:RadSkinManager>
    <div>
 
    </div>
    </form>
</body>
</html>
Shinu
Top achievements
Rank 2
 answered on 14 Nov 2011
1 answer
60 views
I am fatching 20,000 rows from database throw dataset and show in radgrid,i want to impliment custom paging with each page 2000 rows ,and i want to implement client side pagging that when pageindex will be change it will not be refreshed ,so plese help me to implement the code.
Princy
Top achievements
Rank 2
 answered on 14 Nov 2011
1 answer
233 views
Hi All,

I have generated a RadGrid using a table. Code below is
While delete I need confirmation.
For that I have added confirmationtext usingtelerik:GridButtonColumn But it is not deleting. Only it is howing a message box. So what code we need to put in code-behind or aspx page to do deletions. Tell me some suggestions

<telerik:RadGrid ID="RadGrid1" runat="server" AllowSorting="True"             
            ShowStatusBar="True" AllowPaging="True" Skin="Office2007"
            AutoGenerateDeleteColumn="True" AutoGenerateColumns="False" AllowFilteringByColumn="True"
            DataSourceID="SqlDataSource5" GridLines="None" Width="520px"
AllowAutomaticUpdates="True" AllowAutomaticInserts="True" AutoGenerateEditColumn="True">
             
            <MasterTableView DataSourceID="SqlDataSource5" AllowAutomaticUpdates="True"
                 CommandItemDisplay="Top"  DataKeyNames="ID" AllowAutomaticInserts="true">
                 
                <Columns>               
                    <telerik:GridBoundColumn DataField="ID" HeaderText="ID" SortExpression="ID"
                        UniqueName="ID" DataType="System.Int32" ReadOnly="True" Visible="false"  />
                    <telerik:GridBoundColumn DataField="Class" HeaderText="Class" SortExpression="Class"
                        UniqueName="Class" />                   
                    <telerik:GridBoundColumn DataField="Course"
                        HeaderText="Course" SortExpression="Course" UniqueName="Course" AllowFiltering="false">
                    </telerik:GridBoundColumn
                     
                    <telerik:GridButtonColumn ConfirmText="Are you sure you want to delete this row or record?"
                    CommandName="Delete" Text="Delete">
</telerik:GridButtonColumn>
 
                     
                        
                    <%--<telerik:GridButtonColumn ConfirmText="Delete this product?" ConfirmDialogType="RadWindow"
ConfirmTitle="Delete" ButtonType="ImageButton" CommandName="Delete" Text="Delete"
UniqueName="DeleteColumn">
<ItemStyle HorizontalAlign="Center" CssClass="MyImageButton" />
</telerik:GridButtonColumn>--%>
     
                </Columns>
            </MasterTableView>
                    <HeaderStyle HorizontalAlign="Center" />
        </telerik:RadGrid>
         
                    <asp:SqlDataSource ID="SqlDataSource5" runat="server"
                        ConnectionString="<%$ ConnectionStrings:SearchingConnectionString %>"
                        DeleteCommand="DELETE FROM [Clas_Course] WHERE [ID] = @ID"
                        InsertCommand="INSERT INTO [Clas_Course] ([Class], [Course]) VALUES (@Class, @Course)"
                        SelectCommand="SELECT [ID], [Class], [Course] FROM [Clas_Course]"
                        UpdateCommand="UPDATE [Clas_Course] SET [Class] = @Class, [Course] = @Course WHERE [ID] = @ID">
                        <DeleteParameters>
                            <asp:Parameter Name="ID" Type="Int32" />
                        </DeleteParameters>
                        <InsertParameters>                       
                            <asp:Parameter Name="Class" Type="String" />
                            <asp:Parameter Name="Course" Type="String" />
                        </InsertParameters>
                        <UpdateParameters>
                            <asp:Parameter Name="Class" Type="String" />
                            <asp:Parameter Name="Course" Type="String" />
                            <asp:Parameter Name="ID" Type="Int32" />
                        </UpdateParameters>
                    </asp:SqlDataSource>
                </td></tr>
                 </table>   <telerik:RadScriptManager ID="RadScriptManager1" runat="server">
        </telerik:RadScriptManager>
                    </div
        <div class="cornerDiv">
            <img src="Images/bLeft_corner.gif" class="float"/>
            <div class="bg_div"></div>
            <img src="Images/bRight_corner.gif" class="float"/>
        </div>
Shinu
Top achievements
Rank 2
 answered on 14 Nov 2011
1 answer
251 views

Posted on Nov 7, 2011 (permalink)

Hi,
   I am working on a form that requires a detail grid view for each Grid object. I have made a main OrderView Grid which just shows the dates for the orders and a child grid that should get the OrderDate from the Parent grid and show orders just for the selected Date in the parent grid. the OrderDate is common between both grids, but when I try to pass in the OrderDate to the child grid  I am getting the this error "An unhandled exception of type 'System.StackOverflowException' occurred in System.dll"
, I looked at the example at http://demos.telerik.com/aspnet-ajax/grid/examples/programming/detailtabledatabind/defaultcs.aspx
to do this. Can someone please show me how to do this with an example in code?  Your helps appreciated thanks.

*Note I posted a similar question earlier and I kept getting responses similar to what I had already posted here in the codebehind,please take a look at the code behind I have posted a comment in 

 

grdOrderDates_DetailTableDataBind event

 

 sample here and any relevant suggestions would be helpful?  Sorry about all the posted code Im dissapointed you cant attach a project file as an attachment :( and wanted to have the other person look at the same thing im looking at, thanks!

ASPX:
  
  
         <telerik:RadAjaxManagerProxy ID="OrderAM" runat="server">
             <AjaxSettings>
                <telerik:AjaxSetting AjaxControlID="AjaxOrderDates">
                    <UpdatedControls>
                        <telerik:AjaxUpdatedControl ControlID="grdOrderDates" LoadingPanelID="RadAjaxLoadingPanel" />
                    </UpdatedControls>                  
                </telerik:AjaxSetting>
           </AjaxSettings>
         </telerik:RadAjaxManagerProxy>
  
    <div style="margin:20px 100px 20px 400px">
    <h3> Orders By Date</h3>
    <br />
    <br />
  
    <table>
       <tr>
         <td>
            Start Date:
         </td>
         <td align="left">
            <telerik:RadDatePicker runat="server" ID="CalStartDate"></telerik:RadDatePicker>
         </td>
       </tr>
  
       <tr>
         <td>
           End Date:
         </td>
         <td align="left">
            <telerik:RadDatePicker runat="server" ID="CalEndDate"></telerik:RadDatePicker>
         </td>
       </tr>
       <tr style="margin:20px 0">
         <td colspan="2" align="center">
            <asp:Button runat="server" ID="BtnSubmit" Text="Submit" 
                 onclick="BtnSubmit_Click" />
         </td>
       </tr>
  
  
    </table>
  
  
  
        <telerik:RadGrid runat="server" ID="grdOrderDates" Width="750px" Height="100%" AllowPaging="true"
            AllowSorting="true" EnableLinqExpressions="false"
            ShowFooter="true" ondetailtabledatabind="grdOrderDates_DetailTableDataBind">
            <PagerStyle Mode="NextPrevAndNumeric" />
            <MasterTableView AutoGenerateColumns="false" AllowAutomaticDeletes="true" AllowAutomaticInserts="true"
                AllowAutomaticUpdates="true" InsertItemPageIndexAction="ShowItemOnCurrentPage"
                DataKeyNames="OrderDate" CommandItemDisplay="Top" EditMode="PopUp" AllowMultiColumnSorting="true"
                OverrideDataSourceControlSorting="true" AllowFilteringByColumn="true" FilterItemStyle-HorizontalAlign="Left"
                ShowFooter="true" ShowHeader="true" HierarchyLoadMode="ServerOnDemand">
          
                <CommandItemSettings AddNewRecordText="" />
                <RowIndicatorColumn FilterControlAltText="Filter RowIndicator column">
                </RowIndicatorColumn>
                <ExpandCollapseColumn FilterControlAltText="Filter ExpandColumn column">
                </ExpandCollapseColumn>
                   
  
                       <DetailTables>
                          <telerik:GridTableView AutoGenerateColumns="false" DataKeyNames="OrderDate" DataSourceID="ODSOrders">
                                
  
                              <ParentTableRelation>
                                 <telerik:GridRelationFields DetailKeyField="Date" MasterKeyField="OrderDate" />
                              </ParentTableRelation>
                              <Columns>
                                 <telerik:GridBoundColumn DataField="Date" HeaderText="OrderDate" ></telerik:GridBoundColumn>
                                 <telerik:GridBoundColumn DataField="OrderID" HeaderText="OrderID" ></telerik:GridBoundColumn>
                                 <telerik:GridBoundColumn DataField="Customer" HeaderText="Customer" ></telerik:GridBoundColumn>
                                 <telerik:GridBoundColumn DataField="Location" HeaderText="Location" ></telerik:GridBoundColumn>
                                 <telerik:GridBoundColumn DataField="Destination" HeaderText="Destination" ></telerik:GridBoundColumn>
                                 <telerik:GridBoundColumn DataField="Quantity" HeaderText="Quantity" ></telerik:GridBoundColumn>
                                 <telerik:GridBoundColumn DataField="QuantityRemaining" HeaderText="Quantity Remaining" ></telerik:GridBoundColumn>
                              </Columns>
                          </telerik:GridTableView>
                       </DetailTables>
  
                <Columns>
                    <telerik:GridEditCommandColumn ButtonType="ImageButton" UniqueName="EditCommandColumn">
                        <HeaderStyle></HeaderStyle>
                    </telerik:GridEditCommandColumn>
                    <telerik:GridBoundColumn DataField="OrderDate" UniqueName="OrderDate" HeaderText="Order Date" />
  
                </Columns>
                  
              
            </MasterTableView>
            <GroupingSettings CaseSensitive="False" />
              
        </telerik:RadGrid>
    </div>
  
     
    <asp:ObjectDataSource ID="ODSOrderList" runat="server" TypeName="DAL.OrderRepository"
        DataObjectTypeName="DAL.OrderView" SelectMethod="getOrderDatesinRange" 
    onselecting="ODSOrderList_Selecting">
       <SelectParameters>
             <asp:Parameter Name="StartDate" DbType="DateTime" />
             <asp:Parameter Name="EndDate" DbType="DateTime" />
       </SelectParameters>
    </asp:ObjectDataSource>
      
    <asp:ObjectDataSource ID="ODSOrders" runat="server" TypeName="DAL.OrderRepository"
        DataObjectTypeName="DAL.Order" SelectMethod="getOrderListinRange" 
       >
      <SelectParameters>
             <asp:Parameter Name="orderDate" Type="DateTime" />
       </SelectParameters>
    </asp:ObjectDataSource>

And here is the Codebehind file and the C# class and repository im using with some sample data so you can try this as well:

C# code Behind
  
 public partial class OrderView_Screen : System.Web.UI.Page
    {
        DateTime orderDate;
  
        protected void Page_Load(object sender, EventArgs e)
        {
  
        }
  
        public void LoadOrdersByDate()
        {
            //Loads Parent Grid when date range for Orders is given and binds Parent grid
            grdOrderDates.DataSourceID = "ODSOrderList";
            grdOrderDates.DataBind();
        }
  
        protected void ODSOrderList_Selecting(object sender, ObjectDataSourceSelectingEventArgs e)
        {
            e.InputParameters["StartDate"] = CalStartDate.SelectedDate;
            e.InputParameters["EndDate"] = CalEndDate.SelectedDate;
        }
  
        protected void BtnSubmit_Click(object sender, EventArgs e)
        {
            //Loads Parent Grid when date range for Orders is given and binds Parent grid
            LoadOrdersByDate();
        }
  
  
        protected void grdOrderDates_DetailTableDataBind(object sender, Telerik.Web.UI.GridDetailTableDataBindEventArgs e)
        {
            try
            {
  
                GridDataItem dataItem = (GridDataItem)e.DetailTableView.ParentItem;
  
                // This line throws error An unhandled exception of type 'System.StackOverflowException' occurred in System.dll 
                DateTime orderDate = Convert.ToDateTime(dataItem["OrderDate"].Text);
  
                e.DetailTableView.DataSourceID = "ODSOrders";
                e.DetailTableView.DataBind();
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }
  
        protected void ODSOrders_Selecting(object sender, ObjectDataSourceSelectingEventArgs e)
        {
          e.InputParameters["orderDate"] = orderDate;
        }
    }

C# DAL Classes and Repository Class

public class Order
    {
        public Int16 OrderID { get; set; }
        public string Customer { get; set; }
        public string Destination { get; set; }
        public Int16 Quantity { get; set; }
        public Int16 QuantityRemaining { get; set; }
        public DateTime Date { get; set; }
    }
  
public class OrderView
    {
        public DateTime OrderDate { get; set; }
        public Int16 OrderID { get; set; }
  
    }
  
  
  public class OrderRepository
    {
  
       public IEnumerable<OrderView> getOrderDatesinRange(DateTime startdate, DateTime enddate)
       {
      
            List<OrderView> orderViewList = new List<OrderView>();
  
            IEnumerable<OrderView> filterList = getOrderRange(startdate, enddate);
  
          
  
            var oList = (from o in filterList
                         where o.OrderDate >= startdate
                             && o.OrderDate < enddate
                         select o).GroupBy(i => i.OrderDate, (key, group) => group.First()).ToList();
  
  
            orderViewList = oList.Cast<OrderView>().ToList();
         
  
            
  
            return orderViewList;
        }
  
  
        public IEnumerable<Order> getOrderListinRange(DateTime orderDate)
        {
            IEnumerable<Order> ordersList = new List<Order>();
  
            IEnumerable<Order> filterList = getOrders(orderDate);
  
  
            ordersList = (from o in filterList
                          where o.Date == orderDate
                          select o).ToList();
  
            return ordersList;
        }
  
  
  
        public IEnumerable<OrderView> getOrderRange(DateTime startdate, DateTime enddate)
        {
            List<OrderView> getList = new List<OrderView>();
            
            getList.Add(new OrderView {OrderDate = new DateTime(2011,10,1) , OrderID = 1});
            getList.Add(new OrderView { OrderDate = new DateTime(2011, 10, 2), OrderID = 1 });
            getList.Add(new OrderView { OrderDate = new DateTime(2011, 10, 3), OrderID = 1 });
            getList.Add(new OrderView { OrderDate = new DateTime(2011, 10, 4), OrderID = 1 });
            getList.Add(new OrderView { OrderDate = new DateTime(2011, 10, 6), OrderID = 1 });
            getList.Add(new OrderView { OrderDate = new DateTime(2011, 10, 7), OrderID = 1 });
            getList.Add(new OrderView { OrderDate = new DateTime(2011, 10, 8), OrderID = 1 });
            getList.Add(new OrderView { OrderDate = new DateTime(2011, 10, 9), OrderID = 1 });
            getList.Add(new OrderView { OrderDate = new DateTime(2011, 10, 10), OrderID = 1 });
            getList.Add(new OrderView { OrderDate = new DateTime(2011, 10, 11), OrderID = 1 });
            getList.Add(new OrderView { OrderDate = new DateTime(2011, 10, 12), OrderID = 1 });
            getList.Add(new OrderView { OrderDate = new DateTime(2011, 10, 1), OrderID = 2 });
            getList.Add(new OrderView { OrderDate = new DateTime(2011, 10, 2), OrderID = 2 });
            getList.Add(new OrderView { OrderDate = new DateTime(2011, 10, 3), OrderID = 2 });
            getList.Add(new OrderView { OrderDate = new DateTime(2011, 10, 4), OrderID = 2 });
            getList.Add(new OrderView { OrderDate = new DateTime(2011, 10, 6), OrderID = 2 });
            getList.Add(new OrderView { OrderDate = new DateTime(2011, 10, 7), OrderID = 2 });
            getList.Add(new OrderView { OrderDate = new DateTime(2011, 10, 8), OrderID = 3 });
            getList.Add(new OrderView { OrderDate = new DateTime(2011, 10, 9), OrderID = 3 });
            getList.Add(new OrderView { OrderDate = new DateTime(2011, 10, 10), OrderID = 3 });
            getList.Add(new OrderView { OrderDate = new DateTime(2011, 10, 11), OrderID = 3 });
            getList.Add(new OrderView { OrderDate = new DateTime(2011, 10, 12), OrderID = 3 });
            return getList;
        }
  
  
        public IEnumerable<Order> getOrders(DateTime orderDate)
        {
            List<Order> getOrderList = new List<Order>();
  
            getOrderList.Add(new Order { Date = new DateTime(2011, 10, 1), OrderID = 1, Customer = "Evraz", Destination = "Houston", Quantity = 70, QuantityRemaining = 55 });
            getOrderList.Add(new Order { Date = new DateTime(2011, 10, 2), OrderID = 1, Customer = "Evraz", Destination = "Houston", Quantity = 70, QuantityRemaining = 35 });
            getOrderList.Add(new Order { Date = new DateTime(2011, 10, 3), OrderID = 1, Customer = "Evraz", Destination = "Houston", Quantity = 70, QuantityRemaining = 20 });
            getOrderList.Add(new Order { Date = new DateTime(2011, 10, 1), OrderID = 2, Customer = "TCIM", Destination = "Orlando", Quantity = 100, QuantityRemaining = 80 });
            getOrderList.Add(new Order { Date = new DateTime(2011, 10, 2), OrderID = 2, Customer = "TCIM", Destination = "Orlando", Quantity = 70, QuantityRemaining = 60 });
            getOrderList.Add(new Order { Date = new DateTime(2011, 10, 3), OrderID = 2, Customer = "TCIM", Destination = "Orlando", Quantity = 70, QuantityRemaining = 30 });
            getOrderList.Add(new Order { Date = new DateTime(2011, 10, 1), OrderID = 3, Customer = "PT", Destination = "Atlanta", Quantity = 80, QuantityRemaining = 70 });
            getOrderList.Add(new Order { Date = new DateTime(2011, 10, 2), OrderID = 3, Customer = "PT", Destination = "Atlanta", Quantity = 80, QuantityRemaining = 40 });
            getOrderList.Add(new Order { Date = new DateTime(2011, 10, 3), OrderID = 3, Customer = "PT", Destination = "Atlanta", Quantity = 80, QuantityRemaining = 20 });
              
             
            return getOrderList;
        }
  
    }
Shinu
Top achievements
Rank 2
 answered on 14 Nov 2011
Narrow your results
Selected tags
Tags
+? more
Top users last month
Rob
Top achievements
Rank 3
Iron
Iron
Iron
Atul
Top achievements
Rank 1
Iron
Iron
Alexander
Top achievements
Rank 1
Veteran
Iron
Serkan
Top achievements
Rank 1
Iron
Shawn
Top achievements
Rank 1
Iron
Iron
Want to show your ninja superpower to fellow developers?
Top users last month
Rob
Top achievements
Rank 3
Iron
Iron
Iron
Atul
Top achievements
Rank 1
Iron
Iron
Alexander
Top achievements
Rank 1
Veteran
Iron
Serkan
Top achievements
Rank 1
Iron
Shawn
Top achievements
Rank 1
Iron
Iron
Want to show your ninja superpower to fellow developers?
Want to show your ninja superpower to fellow developers?