Telerik Forums
UI for ASP.NET AJAX Forum
9 answers
422 views
I have a 2 level hierarchial RadGrid.  Each row in the MasterTable will have an ItemTemplate column with RadTextbox in it.  When the users enters a value in a textbox and then tabs out (blur) I want to be able to accomplish looping through all the childrows in client side script to extract values for those children only.  I'm trying to understand how to match up a MasterTable row with gridtableview in the grid.get_detailTables() collection.  Each parent row will only ever have 1 child table.  Right now I'm just fudging it by saying that there is a 1 to 1 relationship between the # of parent rows & the # of detailTables, so the index of any parent row is equal to the index of the matching detail table.  I'm sure this is a bad assumption.  Here's what I have so far, but I'm not sure if it's fool proof:

ASPX

<%@ Page Language="VB" AutoEventWireup="false" CodeFile="HGridScript.aspx.vb" Inherits="HGridScript" %> 
 
<%@ Register Assembly="Telerik.Web.UI" Namespace="Telerik.Web.UI" TagPrefix="telerik" %> 
 
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 
 
<html xmlns="http://www.w3.org/1999/xhtml">  
<head runat="server">  
    <title></title>  
</head> 
<body> 
    <form id="form1" runat="server">  
    <telerik:RadScriptManager ID="RadScriptManager1" runat="server">  
    </telerik:RadScriptManager> 
    <div> 
        <telerik:RadGrid ID="RadGrid1" runat="server" AutoGenerateColumns="False"   
            GridLines="None">  
            <MasterTableView ClientDataKeyNames="Something" HierarchyLoadMode="Client">  
                <Columns> 
                    <telerik:GridTemplateColumn HeaderText="Text1" UniqueName="Text1">  
                        <ItemTemplate> 
                            <telerik:RadTextBox ID="txt1" runat="server" ></telerik:RadTextBox> 
                        </ItemTemplate> 
                    </telerik:GridTemplateColumn> 
                    <telerik:GridBoundColumn DataField="Something" HeaderText="Something"></telerik:GridBoundColumn> 
                </Columns> 
                <DetailTables> 
                    <telerik:GridTableView Name="Level2" > 
                        <Columns> 
                            <telerik:GridTemplateColumn HeaderText="Text2" UniqueName="Text2">  
                                <ItemTemplate> 
                                    <telerik:RadTextBox ID="txt2" runat="server" ></telerik:RadTextBox> 
                                </ItemTemplate> 
                            </telerik:GridTemplateColumn> 
                            <telerik:GridTemplateColumn HeaderText="ext" UniqueName="ext">  
                                <ItemTemplate> 
                                    <telerik:RadTextBox ID="lblExt" runat="server" BorderColor="Transparent" ></telerik:RadTextBox> 
                                </ItemTemplate> 
                            </telerik:GridTemplateColumn> 
                            <telerik:GridBoundColumn DataField="SomethingElse" HeaderText="Something Else"></telerik:GridBoundColumn> 
                        </Columns> 
                    </telerik:GridTableView> 
                </DetailTables> 
                <RowIndicatorColumn> 
                    <HeaderStyle Width="20px"></HeaderStyle> 
                </RowIndicatorColumn> 
                <ExpandCollapseColumn> 
                    <HeaderStyle Width="20px"></HeaderStyle> 
                </ExpandCollapseColumn> 
            </MasterTableView> 
        </telerik:RadGrid> 
        <asp:Button ID="Button1" runat="server" Text="Button" OnClientClick="GridScript()" /> 
    </div> 
        <script type="text/javascript">  
            function getItem(index) {  
                var grid = $find("<%=RadGrid1.ClientID %>")  
                var item = grid.get_masterTableView().get_dataItems()[index];  
                var lvl2Total = 0;  
                var lvl2Items = grid.get_detailTables()[index].get_dataItems();  
                for (var i = 0; i < lvl2Items.length; i++) {  
                    var txt2 = lvl2Items[i].findControl("txt2");  
                    lvl2Total += Number(txt2.get_value());  
                }  
                alert(lvl2Total);  
            }     
        </script> 
    </form> 
</body> 
</html> 
 
 

VB

Imports System.Data  
Imports Telerik.Web.UI  
 
Partial Class HGridScript  
    Inherits System.Web.UI.Page  
 
    Private Function CreateTable(ByVal ColumnName As StringByVal Value As StringAs DataTable  
        Dim dt As New DataTable  
        Dim c As New DataColumn(ColumnName)  
        dt.Columns.Add(c)  
        Dim r As DataRow = dt.NewRow  
        r(0) = Value  
        dt.Rows.Add(r)  
        r = dt.NewRow  
        r(0) = Value & " 2" 
        dt.Rows.Add(r)  
        Return dt  
    End Function 
 
    Protected Sub RadGrid1_DetailTableDataBind(ByVal source As ObjectByVal e As Telerik.Web.UI.GridDetailTableDataBindEventArgs) Handles RadGrid1.DetailTableDataBind  
        Select Case e.DetailTableView.Name  
            Case "Level2" 
                e.DetailTableView.DataSource = CreateTable("SomethingElse""else Something")  
        End Select 
    End Sub 
    Protected Sub RadGrid1_NeedDataSource(ByVal source As ObjectByVal e As Telerik.Web.UI.GridNeedDataSourceEventArgs) Handles RadGrid1.NeedDataSource  
        Me.RadGrid1.DataSource = CreateTable("Something""some Data")  
    End Sub 
 
    Protected Sub RadGrid1_PreRender(ByVal sender As ObjectByVal e As System.EventArgs) Handles RadGrid1.PreRender  
        For Each item As GridDataItem In Me.RadGrid1.MasterTableView.Items  
            CType(item("Text1").Controls(1), RadTextBox).Attributes.Add("onblur""getItem('" & item.ItemIndex.ToString & "');")  
        Next 
    End Sub 
End Class 
 

Next, I think I may need something like below.  The equivalent of the inner loop is what I really need help converting to client script.  Please help.  Thanks!

        For Each item As GridDataItem In Me.RadGrid1.MasterTableView.Items  
            For Each child As GridDataItem In item.ChildItem.NestedTableViews(0).Items  
 
            Next 
        Next 
 
Rakesh
Top achievements
Rank 1
 answered on 07 May 2010
2 answers
146 views

I am using RadGrid in my web page (asp)

and in EditFormSettings - FormTemplate i have two RadComboBoxes with their datasources.

here is part of my code:

<FormTemplate>

<telerik:RadComboBox ID="cbCompany" runat="server" 
Enabled='<%#(Container.DataItem is Telerik.Web.UI.GridInsertionObject)%>' >

<telerik:RadComboBox ID="cbCompanyField" runat="server" 
OnSelectedIndexChanged="cbCompanyField_SelectedIndexChanged" />

<FormTemplate>

so, cbCompany is enabled only when i'm making Add New (rad commanditem), in case of editing it's enable is false.

plus when i'm changing cbCompanyField combo, cbCompany items mast change accordig as cbCompanyField selected value.

(on cbCompanyField_SelectedIndexChanged i change cbCompany datasource)

the problem is that, when i change cbCompanyField item in Add New mode, and the page is posting back, cbCompany's  enable is turning to false.

i wonder, is there any solution for this?

David Tabatadze
Top achievements
Rank 1
 answered on 07 May 2010
1 answer
159 views
Hello,

I need rounded corners textbox with empty message.

Textbox with FormDecorator gives me rounded corners, but as soon as I add some RadInputManager settings, i loose the rounded corners on the textbox.

How can I achieve that ?
robertw102
Top achievements
Rank 1
 answered on 07 May 2010
4 answers
78 views
Does somebody has an example for how Passing Grid.SelecteditemID to RadTabStrip

I appreciate your help
Bricton Perez
Top achievements
Rank 1
 answered on 07 May 2010
2 answers
88 views

Hi, i search in the forum and i had see that is a comune problem but following the instrunction doesn't work

Posting you some code

protected void rgrOrdEvo_DetailTableDataBind(object source, GridDetailTableDataBindEventArgs e)  
        {  
            e.DetailTableView.DataSource = dettaglio;  
        }  
 
 protected void rgrOrdEvo_NeedDataSource(object source, GridNeedDataSourceEventArgs e)  
        {  
            if (!e.IsFromDetailTable)  
            {  
                rgrOrdEvo.DataSource = this.DS();  
            }  
        }  
        } 
    <telerik:RadGrid ID="rgrOrdEvo" runat="server"  
        GridLines="None" AllowPaging="true" PageSize="15"  
        ondetailtabledatabind="rgrOrdEvo_DetailTableDataBind"   
            AutoGenerateHierarchy="true" Skin="Hay"  
            onitemdatabound="rgrOrdEvo_ItemDataBound"   
            onneeddatasource="rgrOrdEvo_NeedDataSource">  
    <PagerStyle Mode="NextPrevNumericAndAdvanced" />  
    <ClientSettings>  
    <Selecting  AllowRowSelect="true"/>  
    </ClientSettings>  
   <MasterTableView DataKeyNames="ORT.OTNUOR" TableLayout="Fixed" GroupLoadMode="Client">  
<DetailTables>  
   <telerik:GridTableView TableLayout="Fixed" GroupLoadMode="Client" EnableViewState="true"

how can i stop this disappear/show of the grid when i expand

thank you

Matteo Beretta
Top achievements
Rank 1
 answered on 07 May 2010
2 answers
140 views
Have a problem where I have a bunch of columns and am using horizontal scrolling.  Using a Frozen columns so that you can see the name of the person while viewing the MANY columns.  Occasionally , if the end user scrolls slowly wit hthe arrows the ends of the table get eaten off.   Below is the  code for the grid.  Nothing special.
<telerik:RadGrid ID="gridResults" runat="server" Skin="Office2007" AutoGenerateColumns="False" 
                            GridLines="None" Width='1100px'
                            <MasterTableView Width='100%'
                                <HeaderStyle HorizontalAlign="Left" Wrap="false" /> 
                                <ItemStyle HorizontalAlign="Left" Wrap="false" /> 
                                <AlternatingItemStyle HorizontalAlign="Left" Wrap="false" BackColor="#EEEEEE" /> 
                                <Columns> 
                                    <telerik:GridBoundColumn DataField="OfficerName" HeaderText="Officer Name" /> 
                                    <telerik:GridBoundColumn DataField="TotalCalls" HeaderText="Calls and Complaints" /> 
                                    <telerik:GridBoundColumn DataField="MisArrest" HeaderText="Misdemeanor Arrest" /> 
                                    <telerik:GridBoundColumn DataField="FelArrest" HeaderText="Felony Arrest" /> 
                                    <telerik:GridBoundColumn DataField="Court" HeaderText="Court" /> 
                                    <telerik:GridBoundColumn DataField="Accidents" HeaderText="Accidents Investigated" /> 
                                    <telerik:GridBoundColumn DataField="Citations" HeaderText="Citations" /> 
                                    <telerik:GridBoundColumn DataField="Warnings" HeaderText="Warnings" /> 
                                    <telerik:GridBoundColumn DataField="Training" HeaderText="Training" /> 
                                    <telerik:GridBoundColumn DataField="Supervision" HeaderText="Supervision" /> 
                                    <telerik:GridBoundColumn DataField="DutyOfficer" HeaderText="Duty Officer" /> 
                                    <telerik:GridBoundColumn DataField="MealsandBreaks" HeaderText="Meals and Breaks" /> 
                                    <telerik:GridBoundColumn DataField="OtherAgencies" HeaderText="Assist Other Agencies" /> 
                                    <telerik:GridBoundColumn DataField="CitizenAssist" HeaderText="Citizen Assist" /> 
                                    <telerik:GridBoundColumn DataField="Backup" HeaderText="Back/Up Assist" /> 
                                    <telerik:GridBoundColumn DataField="Escorts" HeaderText="Escorts" /> 
                                    <telerik:GridBoundColumn DataField="FieldInterview" HeaderText="Field Interview" /> 
                                    <telerik:GridBoundColumn DataField="Special" HeaderText="Special Detail" /> 
                                    <telerik:GridBoundColumn DataField="Radar" HeaderText="Radar Detail" /> 
                                    <telerik:GridBoundColumn DataField="Burglary" HeaderText="Burglary Reports" /> 
                                    <telerik:GridBoundColumn DataField="Theft" HeaderText="Theft Reports" /> 
                                    <telerik:GridBoundColumn DataField="BusinessChecks" HeaderText="Business Checks" /> 
                                    <telerik:GridBoundColumn DataField="HouseChecks" HeaderText="House Checks" /> 
                                    <telerik:GridBoundColumn DataField="Misc" HeaderText="Misc. Incidents" /> 
                                    <telerik:GridBoundColumn DataField="PatrolHours" HeaderText="Patrol Hours" /> 
                                    <telerik:GridBoundColumn DataField="PatrolMiles" HeaderText="Patrol Miles" /> 
                                    <telerik:GridBoundColumn DataField="Totals" HeaderText="Total For Period" /> 
                                </Columns> 
                            </MasterTableView> 
                            <ClientSettings> 
                                <Scrolling AllowScroll="true" UseStaticHeaders="true" FrozenColumnsCount="1" SaveScrollPosition="true" /> 
                            </ClientSettings> 
                        </telerik:RadGrid> 

Chris Griffin
Top achievements
Rank 1
 answered on 07 May 2010
1 answer
98 views
I have used a telerik grid in my application.
The resultset has around 50 pages. Each page contains 10 records.
I am using pagination in the grid, in which I am using following code:

Control numericPagerControl = gridPager.GetNumericPager();
                Control placeHolder = gridPager.FindControl(NUM_PAGER_CONTROL_ID);
                placeHolder.Controls.Add(numericPagerControl);

Now, the page numbers are appearing as below:

1 2 3 4 5 6 7 8 9 10 ....

But because of space constraints in the header, I want to display only following string:

1 2 3 4 5 ....

Please revert asap.
Daniel
Telerik team
 answered on 07 May 2010
4 answers
334 views
Hello

I am currently working on a project where it will save a lot of time if I could automatically make the adobe reader plugin to show the print dialog.

I have export to pdf working flawlessly based on the following article.

How To: Export grid to PDF file and show the result using the window
http://www.telerik.com/community/forums/aspnet-ajax/grid/export-to-pdf-and-save-programmatically.aspx

My application basically is using the resulting window to print labels.

It would be wonderful to have the adobe print dialog show up after the resulting window has opened.

On regular web pages it is rather easy using javascript, I am guessing the same javascript will need to be inserted in the created pdf, perhaps the same way as the page break can be inserted using <?hard-pagebreak?> in the grid's output, just not sure how to do it though.

Like always any leads would be highly appreciated.

Thanks
Imran
Imran
Top achievements
Rank 1
 answered on 07 May 2010
2 answers
306 views
Hi,

I'm using a RadListBox with CheckBoxes option turned on. I bind the listbox to a table in a DataSet based on an event. The DataSet contains name, id and a bit flag per record (i.e., each row in the datatable would look similar to this:  "1", "Joe", true). I set Text and Value using DataTextField and DataValueField respectively. However, I can't seem to find a way to bind the checkboxes. Any ideas?

Thank you!
Vassili King
Top achievements
Rank 1
 answered on 07 May 2010
1 answer
236 views

Hi,

When I am using node template in treeview the text of that treeview is not displaying at rum time.

could any one plz help me here is the code.

<telerik:RadTreeView runat="server" ID="RadTreeView1" Skin="Outlook">
            <Nodes>
                <telerik:RadTreeNode Text="POLICY" Expanded="true">
                    <Nodes>
                        <telerik:RadTreeNode Text="Policy Information">
                        </telerik:RadTreeNode>
                        <telerik:RadTreeNode Text="Applicants">
                            <NodeTemplate>                             
                                <table id="tblApplicants" style="display: block; border: 0; width: 265px">
                                    <tr>
                                        <td>
                                            <telerik:RadAjaxPanel ID="RadAjaxPanel1" runat="server">
                                                <asp:XmlDataSource ID="XmlApplicant" runat="server" DataFile="~/XMLs/EntitiesInfo.xml"
                                                    XPath="/Entities/EntityInfo"></asp:XmlDataSource>
                                                <telerik:RadGrid ID="radGVApplicant" runat="server" Width="265px" AllowPaging="True"
                                                    PageSize="2" AutoGenerateColumns="False" Skin="Default" GridLines="None" FooterStyle-CssClass="GVHdrColor"
                                                    SelectedItemStyle-CssClass="GvRead" CommandItemStyle-Wrap="true" DataSourceID="XmlApplicant"
                                                    PagerStyle-AlwaysVisible="true">
                                                    <SelectedItemStyle CssClass="MySelectedClass" />
                                                    <MasterTableView CommandItemDisplay="None" SkinID="GVHeadrColor">
                                                        <NoRecordsTemplate>
                                                            <div>
                                                                No records found.
                                                            </div>
                                                        </NoRecordsTemplate>
                                                        <AlternatingItemStyle CssClass="MyRowClass" />
                                                        <HeaderStyle CssClass="grdHdr" />
                                                        <ItemStyle CssClass="grdItem" />
                                                        <FooterStyle CssClass="grdPager" />
                                                        <Columns>
                                                            <telerik:GridTemplateColumn DataField="CrsID" HeaderText="#" HeaderStyle-Width="5%"
                                                                HeaderStyle-CssClass="grdHdr" ItemStyle-CssClass="grdItem" FooterStyle-CssClass="grdPager">
                                                                <ItemTemplate>
                                                                    <asp:Label ID="lblSno" runat="server" Text='<%# XPath("SNo") %>' SkinID="GridLbl"></asp:Label>
                                                                </ItemTemplate>
                                                            </telerik:GridTemplateColumn>
                                                            <telerik:GridTemplateColumn DataField="Name" HeaderText="Name" HeaderStyle-Width="45%"
                                                                UniqueName="Name" HeaderStyle-CssClass="grdHdr" ItemStyle-CssClass="grdItem"
                                                                FooterStyle-CssClass="grdPager">
                                                                <ItemTemplate>
                                                                    <asp:Label ID="lblAppName" runat="server" Text='<%# XPath("Name") %>' SkinID="GridLbl"></asp:Label>
                                                                </ItemTemplate>
                                                            </telerik:GridTemplateColumn>
                                                            <telerik:GridButtonColumn HeaderStyle-Width="5%" HeaderStyle-CssClass="grdHdrDel"
                                                                ItemStyle-CssClass="grdItemDel" FooterStyle-CssClass="grdPager" ButtonType="ImageButton"
                                                                HeaderText="Delete" ImageUrl="../Images/deleteicon_disabled.gif" ConfirmDialogType="RadWindow"
                                                                ConfirmText="Are you sure want to delete Applicant?">
                                                            </telerik:GridButtonColumn>
                                                        </Columns>
                                                    </MasterTableView>
                                                    <ClientSettings EnablePostBackOnRowClick="true">
                                                        <Selecting AllowRowSelect="true" />
                                                        <Scrolling AllowScroll="false" />
                                                       
                                                    </ClientSettings>
                                                </telerik:RadGrid>
                                            </telerik:RadAjaxPanel>
                                        </td>
                                    </tr>
                                </table>
                            </NodeTemplate>
                        </telerik:RadTreeNode>
                        <telerik:RadTreeNode Text="Primary Address"></telerik:RadTreeNode>
                        <telerik:RadTreeNode Text="Mailing Address"></telerik:RadTreeNode>
                        <telerik:RadTreeNode Text="Underwriter Questions"></telerik:RadTreeNode>
                        <telerik:RadTreeNode Text="Worker's Comp. Policy Information"></telerik:RadTreeNode>
                    </Nodes>
                </telerik:RadTreeNode>
            </Nodes>
        </telerik:RadTreeView>
Nikolay Tsenkov
Telerik team
 answered on 07 May 2010
Narrow your results
Selected tags
Tags
+? more
Top users last month
Hiba
Top achievements
Rank 1
Iron
Iron
Rob
Top achievements
Rank 3
Bronze
Bronze
Iron
Max
Top achievements
Rank 1
Veteran
Iron
Alina
Top achievements
Rank 1
Rakhee
Top achievements
Rank 1
Iron
Iron
Iron
Want to show your ninja superpower to fellow developers?
Top users last month
Hiba
Top achievements
Rank 1
Iron
Iron
Rob
Top achievements
Rank 3
Bronze
Bronze
Iron
Max
Top achievements
Rank 1
Veteran
Iron
Alina
Top achievements
Rank 1
Rakhee
Top achievements
Rank 1
Iron
Iron
Iron
Want to show your ninja superpower to fellow developers?
Want to show your ninja superpower to fellow developers?