Telerik Forums
UI for ASP.NET AJAX Forum
7 answers
558 views

Hi,

Currently, I have a rad grid which populates search results using client side binding (Select Method). However, I need to update this rad grid now to add new column to it which allows users to select values from a drop down and then save the selected value. I have been trying to use the same client side binding on this grid with the new GridTemplateColumn with a RadComboBox in it, but the issue is that it disappears on pagination and I cannot use NeedDataSource to render the server side RadCombobox as this is a search page and I do not want it to post back for the search results to display each time.

 

Can anyone please help me on how to achieve using a GridTemplateColumn with client side binding?

 

Thanks!

Eyup
Telerik team
 answered on 16 Aug 2018
6 answers
1.3K+ views
Hi! I'm new to ASP and the web in general so bear with me.

I need to add multiple footer rows to my RadGrid instance ; for the moment, however, I just want to add second one. I have currently a single footer row and it's working and displaying perfectly, for the record.

I found the following relevant question on these  forums and tried implemeting it but it's not working : the code gets executed, and the new FooterItem gets added to the Controls but that second row just doesn't appear. I need to find out why and I'd be grateful if anyone could help me fix that problem.

ASP grid code

<div id="OrderMainContent">
    <telerik:RadAjaxManager runat="server" ID="RadAjaxManager1">
        <AjaxSettings>
            <telerik:AjaxSetting AjaxControlID="RadGrid1" />
            <telerik:AjaxSetting AjaxControlID="txtQuantity">
                <UpdatedControls>
                    <telerik:AjaxUpdatedControl ControlID="RadGrid1" />
                </UpdatedControls>
            </telerik:AjaxSetting>
        </AjaxSettings>
    </telerik:RadAjaxManager>
    <telerik:RadInputManager ID="RadInputManager1" runat="server">
        <telerik:NumericTextBoxSetting BehaviorID="NumericBehavior1" Type="Number" DecimalDigits="0">
            <TargetControls>
                <telerik:TargetInput ControlID="RadGrid1" />
            </TargetControls>
        </telerik:NumericTextBoxSetting>
    </telerik:RadInputManager>
    <telerik:RadGrid ID="RadGrid1" runat="server" Skin="Sunset" AllowSorting="True" AutoGenerateColumns="False"
        GridLines="None" ShowFooter="True" OnItemDataBound="RadGrid1_ItemDataBound" OnPreRender="RadGrid1_PreRender">
        <MasterTableView DataKeyNames="ProductID" TableLayout="Fixed">
            <RowIndicatorColumn>
                <HeaderStyle Width="20px"></HeaderStyle>
            </RowIndicatorColumn>
            <ExpandCollapseColumn>
                <HeaderStyle Width="20px"></HeaderStyle>
            </ExpandCollapseColumn>
            <Columns>
                <telerik:GridBoundColumn UniqueName="colProduct" HeaderText="<%$ Resources: SiteLabels, ProductOrderForm.lblProduct %>"
                    HeaderStyle-HorizontalAlign="Center" DataField="ProdDesc">
                    <HeaderStyle HorizontalAlign="Center"></HeaderStyle>
                </telerik:GridBoundColumn>
                <telerik:GridTemplateColumn UniqueName="colQuantity" HeaderText="<%$ Resources: SiteLabels, ProductOrderForm.lblQuantity %>"
                    HeaderStyle-HorizontalAlign="Center" DataField="OrderQty" ColumnEditorID="txtQuantity">
                    <HeaderStyle Width="90" />
                    <ItemStyle Width="90px" />
                    <ItemTemplate>
                        <asp:TextBox ID="txtQuantity" runat="server" Width="50px" OnTextChanged="txtQuantity_TextChanged"
                            AutoPostBack="true">
                        </asp:TextBox>
                    </ItemTemplate>
                </telerik:GridTemplateColumn>
                <telerik:GridTemplateColumn UniqueName="colPrice" HeaderText="<%$ Resources: SiteLabels, ProductOrderForm.lblBasePrice %>"
                    HeaderStyle-HorizontalAlign="Center" DataField="ProdUnitPrice">
                    <HeaderStyle Width="80px" />
                    <ItemStyle Width="80px" />
                    <ItemTemplate>
                        <asp:Label ID="lblPrice" runat="server" Text='<%# Eval("ProdUnitPrice") %>' />
                    </ItemTemplate>
                </telerik:GridTemplateColumn>
                <telerik:GridBoundColumn UniqueName="colNotes" HeaderText="<%$ Resources: SiteLabels, ProductOrderForm.lblNotes %>"
                    HeaderStyle-HorizontalAlign="Center">
                    <HeaderStyle Width="200px" />
                    <ItemStyle Width="200px" />
                </telerik:GridBoundColumn>
            </Columns>
        </MasterTableView>
        <ClientSettings>
            <Scrolling AllowScroll="True" UseStaticHeaders="True" />
        </ClientSettings>
    </telerik:RadGrid>
</div>


Relevant code behind

protected void RadGrid1_PreRender(object sender, EventArgs e)
{
    AddFooterRow(sender as RadGrid);
}
 
private void AddFooterRow(RadGrid grid)
{
    if (grid != null)
    {
        GridItem[] footerItems = grid.MasterTableView.GetItems(GridItemType.Footer);
 
        if (footerItems.Count() == 1)
        {
            GridTFoot foot = footerItems[0].Parent.Controls[0].Parent as GridTFoot;
 
            for (int i = 0; i < foot.Controls.Count; i++)
            {
                GridFooterItem item = foot.Controls[i] as GridFooterItem;
 
                if(item != null)
                {
                    lastFooterPos = i;
                    break;
                }
            }
 
            GridFooterItem existingFooter = foot.Controls[lastFooterPos] as GridFooterItem;
            GridFooterItem newFooterItem = new GridFooterItem(grid.MasterTableView, 0, 0);
 
            foreach(TableCell fc in existingFooter.Cells)
            {
                TableCell newFooterCell = new TableCell();
                newFooterCell.Text = "allo";
                newFooterItem.Cells.Add(newFooterCell);
            }
 
            foot.Controls.AddAt(lastFooterPos + 1, newFooterItem);
        }
    }
}


Of course if you need more precisions, just ask. Thank you for your help.
Eyup
Telerik team
 answered on 16 Aug 2018
4 answers
70 views

Hello,

I have ASP.NET web pages that I would like to encapsulate in RadDock Tool (or Document) windows... I already have the Dock Layout created and placed on an ASP.NET page... and at run-time of the page,  would like to have my  other (responsive) ASP.NET web page(s) dynamically displayed in a RadDock Tool (or Document) window(s).

Is there a way (some example code would be awesome) to simply assign a web page to the Tool (or Document) window in the code-behind of the RadDock page?

Since it's nice to know the "why" of things... this allows existing my existing (responsive) pages to be re-purposed (without redesign) and encapsulated in the RadDock window (the new UI) - realizing all the benefits of the Dock with existing formatted content.

Thanking you for all replies.

Chuck

 

 

 

Chuck
Top achievements
Rank 1
 answered on 15 Aug 2018
1 answer
173 views
for small stack blocks, the counts are overlapping. How to manage this?
Vessy
Telerik team
 answered on 15 Aug 2018
7 answers
763 views
Hello,
     I have inserted a simple grid with batch editing option enabled. When I edit any cell, it gets a red mark at top left (which is of course telling that the cell got edited). But the grid is not firing any event like BatchEditCommand, Insert, Update or Delete after editing the cell. Please let me know what m I missing.
What I want is:
1. Get the data after cell got edited to make changes on my page accordingly.
2. Get the complete datasource of grid after editing for example as dataset or datatable.

Thanks.

Full page :

<!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>
</head>
<body>
    <form id="form1" runat="server">
    <div>
    <telerik:RadScriptManager runat="server" ID="RadScriptManager1" />
 
<telerik:RadAjaxManager runat="server">
        <AjaxSettings>
            <telerik:AjaxSetting AjaxControlID="RadGrid1">
                <UpdatedControls>
                    <telerik:AjaxUpdatedControl ControlID="RadGrid1" LoadingPanelID="RadAjaxLoadingPanel1" />
                </UpdatedControls>
            </telerik:AjaxSetting>
            <telerik:AjaxSetting AjaxControlID="ConfigurationPanel1">
                <UpdatedControls>
                    <telerik:AjaxUpdatedControl ControlID="RadGrid1" LoadingPanelID="RadAjaxLoadingPanel1" />
                </UpdatedControls>
            </telerik:AjaxSetting>
        </AjaxSettings>
    </telerik:RadAjaxManager>
    <telerik:RadAjaxLoadingPanel runat="server" ID="RadAjaxLoadingPanel1"></telerik:RadAjaxLoadingPanel>
 
 
     <telerik:RadGrid ID="RadGrid1" GridLines="None" runat="server" AllowAutomaticDeletes="True" OnNeedDataSource="RadGrid1_NeedDataSource"
            AllowAutomaticInserts="True" PageSize="10" OnItemDeleted="RadGrid1_ItemDeleted" OnItemInserted="RadGrid1_ItemInserted"
            OnItemUpdated="RadGrid1_ItemUpdated" OnPreRender="RadGrid1_PreRender" AllowPaging="True"
            AutoGenerateColumns="False" OnBatchEditCommand="RadGrid1_BatchEditCommand" >
            <MasterTableView CommandItemDisplay="TopAndBottom" HorizontalAlign="NotSet" EditMode="Batch" AutoGenerateColumns="False">
                <BatchEditingSettings EditType="Cell" />
                <SortExpressions>
                    <telerik:GridSortExpression FieldName="ID" SortOrder="Ascending" />
                </SortExpressions>
                <Columns>
                    <telerik:GridBoundColumn DataField="Code" HeaderStyle-Width="210px" HeaderText="ProductName" SortExpression="ProductName"
                        UniqueName="ProductName">
                        <ColumnValidationSettings EnableRequiredFieldValidation="true">
                            <RequiredFieldValidator ForeColor="Red" Text="*This field is required" Display="Dynamic">
                            </RequiredFieldValidator>
                        </ColumnValidationSettings>
                    </telerik:GridBoundColumn>                                       
                </Columns>
            </MasterTableView>
            <ClientSettings AllowKeyboardNavigation="true"></ClientSettings>
        </telerik:RadGrid>
    </div>
    </form>
</body>
</html>

And C# Code :

protected void RadGrid1_NeedDataSource(object source, Telerik.Web.UI.GridNeedDataSourceEventArgs e)
        {
            RadGrid1.DataSource = (A function returning datatable).
        }
 
        protected void RadGrid1_BatchEditCommand(object sender, Telerik.Web.UI.GridBatchEditingEventArgs e)
        {
             
        }
 
        protected void RadGrid1_ItemUpdated(object source, Telerik.Web.UI.GridUpdatedEventArgs e)
        {
             
        }
 
        protected void RadGrid1_ItemInserted(object source, GridInsertedEventArgs e)
        {
             
        }
 
        protected void RadGrid1_ItemDeleted(object source, GridDeletedEventArgs e)
        {
             
        }
 
        protected void RadGrid1_PreRender(object sender, EventArgs e)
        {
             
        }
Vessy
Telerik team
 answered on 14 Aug 2018
2 answers
476 views
I have a Grid in which dates are always displayed in MM/dd/yyyy format.  However, when we export the grid to Excel, we want the date format to be culture-specific.  For example, a US-based user would see 5/27/2014 for today's date while a UK-based user would see 27/05/2014.

Is there a simple way to accomplish this?  Setting the Culture property of the Grid did not do the trick.  I eventually solved the problem by putting some code into the Grid's ExportCellFormatting event in which I convert the Cell.Text to a DateTime (from a string) and subsequently cast the DateTime to a string for the Culture that I retrieve from Request.UserLanguages.

Thanks in advance!
trupti
Top achievements
Rank 1
 answered on 14 Aug 2018
3 answers
114 views

Just wondering which is better for performance to use embedded skins, or create using theme builder and use a custom skin.

I prefer to use a custom skin as I can tweak the css to suit, rather than target the correct specificity to change an inbuilt skin.

What I used to do was take the skin form the skin folder and rename / edit that, but have found that using the Theme builder files the CSS doesn't match exactly the built in skins, so I'm thinking about going back to the built in, but curious about performance.

 

Andy

Rumen
Telerik team
 answered on 14 Aug 2018
5 answers
206 views
I have a rad grid that is selecting fields from 2 different tables. If i have one control parameter in the SQL data source, the grid rebinds fine and shows the data. When i add an OR clause to my SQL statement in the data source configurator for another control parameter. The grid no longer rebinds. But if i test the query from the SQL data source "Test Query", the statement works fine and pulls the data it is supposed to. Any reason as to why the grid would have an issue with the SQL statement having multiple control parameters? I can post code if you need me to.
Eyup
Telerik team
 answered on 14 Aug 2018
7 answers
293 views
Hi Telerik Community,

I am trying to get the text for the selected node, but keep getting "undefined" Here is my javascript:
var tree = $find("<%= RadTreeView1.ClientID %>");
var node = tree.get_selectedNode();
var ParentFolder = tree.get_selectedNode().get_text();

Right now I just have an alert box to show the value of node and the value of ParentFolder but they both keep coming back "undefined" even when I have a node seleted on my RadTreeView (id=RadTreeView1). I am using version 2011.1.519.35 (not sure if that would make a difference in the syntax).

Thanks,
Joe
Peter Milchev
Telerik team
 answered on 14 Aug 2018
16 answers
1.9K+ views
Hi,
I want to know the checked Node is parent node or  Child node.Can I do that.
Please let me know.
I am having a tree view which is loaded by the sql datasource like this,
<telerik:RadTreeView ID="tvwGroups" Height="320px" Width="300" runat="server" CheckBoxes="True" TabIndex="1"
                            DataSourceID="sdsTreeView" DataFieldID="CATGROUPID"  DataTextField="NAME" DataFieldParentID="PARENTID" OnNodeCheck="OnNodeCheck_tvwGroups">
                                <DataBindings>
                                    <telerik:RadTreeNodeBinding TextField="NAME" ValueField="CATGROUPID" />
                                    <telerik:RadTreeNodeBinding Depth="0"  ValueField="CATGROUPID" TextField="NAME"/>
                                </DataBindings>
                            </telerik:RadTreeView>
I want to do different things based on the parent node and child node.


Thanks,
Sravanthi.
Peter Milchev
Telerik team
 answered on 14 Aug 2018
Narrow your results
Selected tags
Tags
+? more
Top users last month
Rob
Top achievements
Rank 3
Bronze
Bronze
Iron
Sergii
Top achievements
Rank 1
Iron
Iron
Dedalus
Top achievements
Rank 1
Iron
Iron
Lan
Top achievements
Rank 1
Iron
Doug
Top achievements
Rank 1
Want to show your ninja superpower to fellow developers?
Top users last month
Rob
Top achievements
Rank 3
Bronze
Bronze
Iron
Sergii
Top achievements
Rank 1
Iron
Iron
Dedalus
Top achievements
Rank 1
Iron
Iron
Lan
Top achievements
Rank 1
Iron
Doug
Top achievements
Rank 1
Want to show your ninja superpower to fellow developers?
Want to show your ninja superpower to fellow developers?