Telerik Forums
UI for ASP.NET AJAX Forum
0 answers
86 views
Nevermind... you can delete this topic. Stupid question. Need to test a working  solution before asking.
Sorry
Massimiliano
Top achievements
Rank 1
 asked on 18 Nov 2013
2 answers
77 views
Hi

Our company is in the process of upgrading our rad controls from a rather old version to the latest version. On of the controls that's upgraded is a custom control created which derives from the RadNumericTextBox.

In this control there are 2 overrides which are no longer relevant, namely:

  - InitScript
  - RenderHiddenElement

I can't seem to find any document on these, so I'm not sure where to move this code to in the upgraded version. Can anyone provide me with some insight in these? And, if possible, what the best way to re-implement them in the latest version would be?

Many thanks

Tim
Tim
Top achievements
Rank 1
 answered on 18 Nov 2013
2 answers
84 views
Subject says it all, I want to call a method that will write a log entry any time a user exports a RadGrid to Excel.  I am currently using the 

GridExporting event in the code behind of each ASPX page and it works fine. What I am looking to do is set up something more global, such that if any grid is ever exported, add the log entry. It may be more of a general .net overloading/inheritance question but figured I would start here.  

Nick
Top achievements
Rank 1
 answered on 18 Nov 2013
1 answer
119 views
I'm following the demo/example here and finding that several things aren't working for me.  Hopefully I'm just doing it wrong and my newbie errors can be quickly pointed out.

http://demos.telerik.com/aspnet-ajax/grid/examples/data-editing/edit-form-types/defaultcs.aspx

I want a modal popup for editing, using a UserControl, and to use the same control at the top of the page for adding new records.  I'm using VS2012, asp.net webforms 4.5, RadControls Q3 2013, and a very basic n-tier approach using EF in a separate assembly, for data access.

Here's my aspx:

<%@ Page Title="" Language="C#" MasterPageFile="~/ControlCenter/MasterAdmin.master" AutoEventWireup="true" CodeFile="ConfigSMTP.aspx.cs" Inherits="ControlCenter_ConfigSMTP" %>
 
<%@ Register assembly="Telerik.Web.UI" namespace="Telerik.Web.UI" tagprefix="telerik" %>
<%@ register src="~/Controls/EditConfigSMTP.ascx" tagprefix="My" tagname="EditConfigSMTP" %>
 
 
<asp:content ID="ConfigSMTPHead" ContentPlaceHolderID="head" Runat="Server">
</asp:content>
<asp:content ID="ConfigSMTPContent" ContentPlaceHolderID="BodyContent" Runat="Server">
    <table style="width:100%;">
        <tr>
            <td style="width:20%;">Edit SMTP Address List</td>
            <td style="width:80%;"> </td>
        </tr>
        <tr>
            <td colspan="2">
                <telerik:radajaxmanager id="ConfigSMTPAjaxManager" runat="server">
                    <ajaxsettings>
                        <telerik:ajaxsetting ajaxcontrolid="ConfigSMTPGrid">
                            <updatedcontrols>
                                <telerik:ajaxupdatedcontrol controlid="ConfigSMTPGrid" loadingpanelid="ConfigSMTPLoadingPanel" />
                            </updatedcontrols>
                        </telerik:ajaxsetting>
                    </ajaxsettings>
                </telerik:radajaxmanager>
            </td>
        </tr>
        <tr>
            <td colspan="2">Use the form below to configure the outgoing SMTP address for email.</td>
        </tr>
        <tr>
            <td colspan="2">
                <My:editconfigsmtp runat="server" id="EditConfigSMTP" />
            </td>
        </tr>
        <tr>
            <td colspan="2" style="text-align: center">
                <telerik:radajaxloadingpanel id="ConfigSMTPLoadingPanel" runat="server" skin="Default">
                </telerik:radajaxloadingpanel>
            </td>
        </tr>
        <tr>
            <td colspan="2">
                <!-- SEARCH RESULTS -->
                <telerik:radgrid
                    id="ConfigSMTPGrid"
                    runat="server"
                    allowsorting="True"
                    autogeneratecolumns="False"
                    cellpadding="5"
                    cellspacing="5"
                    datasourceid="ConfigSMTPDataSource"
                    gridlines="None"
                    width="100%"
                    onitemdatabound="ConfigSMTPGrid_ItemDataBound"
                    skin="Metro"
                    ondeletecommand="ConfigSMTPGrid_DeleteCommand"
                    oninsertcommand="ConfigSMTPGrid_InsertCommand"
                    onupdatecommand="ConfigSMTPGrid_UpdateCommand" onprerender="ConfigSMTPGrid_PreRender">
                    <mastertableview datakeynames="ID" datasourceid="ConfigSMTPDataSource">
                        <editformsettings>
                            <popupsettings width="700px" height="500px" modal="true" />
                        </editformsettings>
                        <columns>
                            <telerik:grideditcommandcolumn uniquename="ConfigSMTPEditCommandColumn" editimageurl="../Images/edit_icon.gif" cancelimageurl="../Images/close_delete.gif">
                            </telerik:grideditcommandcolumn>
                            <telerik:gridboundcolumn datafield="ID" datatype="System.Int32" filtercontrolalttext="Filter ID column" headertext="ID" readonly="True" sortexpression="ID" uniquename="ID" visible="False">
                            </telerik:gridboundcolumn>
                            <telerik:gridboundcolumn datafield="SMTPServer" filtercontrolalttext="Filter SMTPServer column" headertext="SMTP Server" sortexpression="SMTPServer" uniquename="SMTPServer">
                            </telerik:gridboundcolumn>
                            <telerik:gridboundcolumn datafield="Description" filtercontrolalttext="Filter Description column" headertext="Description" sortexpression="Description" uniquename="Description">
                            </telerik:gridboundcolumn>
                            <telerik:gridboundcolumn datafield="CreateDate" datatype="System.DateTime" filtercontrolalttext="Filter CreateDate column" headertext="Created" sortexpression="CreateDate" uniquename="CreateDate">
                            </telerik:gridboundcolumn>
                            <telerik:gridboundcolumn datafield="IsDefault" datatype="System.Byte" filtercontrolalttext="Filter IsDefault column" headertext="Default" sortexpression="IsDefault" uniquename="IsDefault">
                                <itemstyle horizontalalign="Center" />
                            </telerik:gridboundcolumn>
                        </columns>
                        <editformsettings usercontrolname="~/Controls/EditConfigSMTP.ascx" editformtype="WebUserControl">
                            <editcolumn uniquename="ConfigSMTPEditCommandColumn"></editcolumn>
                        </editformsettings>
                    </mastertableview>
                </telerik:radgrid>
                <asp:entitydatasource
                    id="ConfigSMTPDataSource"
                    runat="server"
                    connectionstring="name=MyEntities"
                    defaultcontainername="MyEntities"
                    enabledelete="True"
                    enableflattening="False"
                    enableinsert="True"
                    enableupdate="True"
                    entitysetname="ConfigSMTP"
                    entitytypefilter="ConfigSMTP">
                </asp:entitydatasource>
            </td>
        </tr>
    </table>
</asp:content>


...the code-behind:

using System;
using System.Collections.Generic;
using System.ComponentModel.DataAnnotations;
using System.Linq;
using System.Threading;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using DataAccess.Model;
using DataAccess.Validation;
using Proxy.Data;
using Telerik.Web.UI;
 
public partial class ControlCenter_ConfigSMTP : System.Web.UI.Page
{
    private int _currentDefault;
    private readonly string _redirect = "ConfigSMTP.aspx";
 
    public int CurrentDefault
    {
        get { return _currentDefault; }
        set { _currentDefault = value; }
    }
 
    protected void Page_Load(object sender, EventArgs e)
    {
    }
 
    protected void ConfigSMTPGrid_PreRender(object sender, EventArgs e)
    {
    }
 
    protected void ConfigSMTPGrid_ItemDataBound(object sender, Telerik.Web.UI.GridItemEventArgs e)
    {
        //alternative to binding in aspx file
        if (e.Item is GridEditFormItem && e.Item.IsInEditMode)
        {
            //UserControl control = e.Item.FindControl(GridEditFormItem.EditFormUserControlID) as UserControl;
            //GridDataItem parentItem = (e.Item as GridEditFormItem).ParentItem;
            //TextBox box = (TextBox)control.FindControl("TextBox1");
            //box.Text = parentItem["Country"].Text;
        }
    }
 
    protected void ConfigSMTPGrid_InsertCommand(object sender, GridCommandEventArgs e)
    {
        //get entity from grid
        GridEditableItem editedItem = e.Item as GridEditableItem;
        ConfigSMTP smtpEdit = editedItem.DataItem as ConfigSMTP;
 
        //get edit form control
        UserControl userControl = (UserControl)e.Item.FindControl(GridEditFormItem.EditFormUserControlID);
 
    }
 
    protected void ConfigSMTPGrid_UpdateCommand(object sender, GridCommandEventArgs e)
    {
        //get entity from grid
        GridEditableItem editedItem = e.Item as GridEditableItem; //e.Item is ALWAYS NULL.
        ConfigSMTP smtpEdit = editedItem.DataItem as ConfigSMTP;
 
        //get edit form control
        UserControl userControl = (UserControl)e.Item.FindControl(GridEditFormItem.EditFormUserControlID);
 
        //update values
        smtpEdit.SMTPServer = (userControl.FindControl("SMTPServer") as TextBox).Text;
        smtpEdit.Description = (userControl.FindControl("Description") as TextBox).Text;
        smtpEdit.IsDefault = Byte.Parse((userControl.FindControl("IsDefault") as TextBox).Text);
 
        //commit
        ConfigSMTPProxy px = new ConfigSMTPProxy();
        px.Save(smtpEdit);
    }
 
    protected void ConfigSMTPGrid_DeleteCommand(object sender, GridCommandEventArgs e)
    {
        //get entity from grid
        GridEditableItem editedItem = e.Item as GridEditableItem;
        ConfigSMTP smtpEdit = editedItem.DataItem as ConfigSMTP;
 
        //get edit form control
        UserControl userControl = (UserControl)e.Item.FindControl(GridEditFormItem.EditFormUserControlID);
 
    }
}


...the UserControl:

<%@ Control Language="C#" AutoEventWireup="true" CodeFile="EditConfigSMTP.ascx.cs" Inherits="Controls_EditConfigSMTP" %>
<table style="width:100%;">
    <tr>
        <td colspan="2">
            <asp:validationsummary ID="ConfigSMTPValidationSummary" runat="server" cssclass="validation" ShowModelStateErrors="true" />
        </td>
    </tr>
    <!-- SEARCH FORM -->
    <tr>
        <td class="fieldLabel">SMTP Address<span class="required">*</span></td>
        <td>
            <asp:textbox id="SMTPServer" cssclass="input" clientidmode="Static" runat="server" width="400px" text='<%# DataBinder.Eval(Container, "DataItem.SMTPServer") %>'></asp:textbox>
        </td>
    </tr>
    <tr>
        <td class="fieldLabel">Description</td>
        <td>
            <asp:textbox id="Description" cssclass="input" clientidmode="Static" runat="server" textmode="MultiLine" columns="55" rows="5" text='<%# DataBinder.Eval(Container, "DataItem.Description") %>'>
            </asp:textbox>
        </td>
    </tr>
    <tr>
        <td> </td>
        <td>
            <asp:checkbox id="IsDefault" cssclass="input" text="Set As Default" runat="server" />
        </td>
    </tr>
    <tr>
        <td colspan="2"> </td>
    </tr>
    <tr>
        <td colspan="2" class="submit">
            <asp:Button ID="UpdateButton" Text="Update Record" runat="server" CommandName="Update" Visible='<%# !(DataItem is Telerik.Web.UI.GridInsertionObject) %>'></asp:Button>
            <asp:Button ID="InsertButton" Text="Add Record" runat="server" CommandName="PerformInsert" Visible='<%# DataItem is Telerik.Web.UI.GridInsertionObject %>'></asp:Button>
              
            <asp:Button ID="btnCancel" Text="Cancel" runat="server" CausesValidation="False" CommandName="Cancel"></asp:Button>
        </td>
    </tr>
</table>


...control code-behind:

using System;
using System.Collections.Generic;
using System.ComponentModel.DataAnnotations;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using DataAccess.Model;
using DataAccess.Validation;
using Proxy.Data;
using Telerik.Web.UI;
 
public partial class Controls_EditConfigSMTP : System.Web.UI.UserControl
{
    private object _dataItem = null;
 
    public object DataItem
    {
        get { return this._dataItem; }
        set { this._dataItem = value; }
    }
     
    protected void Page_Load(object sender, EventArgs e)
    {
        if (!Page.IsPostBack)
        {
            if (this.DataItem != null)
            {
                ConfigSMTP entity = (ConfigSMTP)this.DataItem;
 
                if (entity.IsDefault == 1)
                    this.IsDefault.Checked = true;
            }
        }
    }
}

So, there are a few issues. 

Firstly, clicking "edit" in a row doesn't yield a modal popup, it's inline with the record.  I can live without that and it's the least of my problems, but it'd be nice to have since I was doing it that way prior to switching the project from stock to the RadControls.

The biggest issue is that while the Insert, Update, and Delete commands are firing, the GridEditableItem is always null.  Since I'm never able to access it, none of the commands actually work.  The only difference from the example is that I'm binding entities, not a DataTable...which I figured I could safely assume works the same?  The entities are "self-tracking" and the initial RadGrid binding is working as expected.  I'm able to bind, page, and sort in other RadGrids in the project which don't require editing.

Any ideas?  Thanks!
Angel Petrov
Telerik team
 answered on 18 Nov 2013
1 answer
185 views
I have a radgrid that uses nested groups by specifying two GridGroupByExpressions on the front-end. Unfortunately, I cannot find an effective way to apply separate GroupHeaderTemplates to each group level. Here's what I've tried:

<GroupByExpressions>
    <telerik:GridGroupByExpression>
        <SelectFields>
            <telerik:GridGroupByField FieldName="GroupName" />
        </SelectFields>
        <GroupByFields>
            <telerik:GridGroupByField FieldName="GroupName" SortOrder="Ascending" />
        </GroupByFields>
    </telerik:GridGroupByExpression>
    <telerik:GridGroupByExpression>
        <SelectFields>
            <telerik:GridGroupByField FieldName="Date" FormatString="{0:MMMM yyyy}" />
        </SelectFields>
        <GroupByFields>
            <telerik:GridGroupByField FieldName="Date" SortOrder="Ascending" />
        </GroupByFields>
    </telerik:GridGroupByExpression>
</GroupByExpressions>
<GroupHeaderTemplate>
    <asp:Label ID="lblGroupName" runat="server" Text='<%# Eval("GroupName") %>' />
</GroupHeaderTemplate>
<GroupHeaderTemplate>
    <asp:Label ID="lblDate" runat="server" Text='<%# Eval("Date") %>' />
</GroupHeaderTemplate>

The GroupByExpressions work just fine, but when I try to add the GroupHeaderTemplates, the following exception is thrown on the second GroupHeaderTemplate: "'System.Data.DataRowView' does not contain a property with the name 'Date'." If I remove the second one, both groups are given the same template (e.g. the nested Date group displays the current GroupName). Is there a way to manage group headers and group subheaders independently?
Konstantin Dikov
Telerik team
 answered on 18 Nov 2013
4 answers
61 views
Hi,

In my program i want aligned my element checkbox whith my element radfilter but they can't.

In my internet page we see:

checkbox
radfilter

or the inverse.

i don't want use <table>.

My code:
<telerik:RadFilter ID="RadFilter1" runat="server" Culture="fr-FR" Skin="Metro" FilterContainerID="RGArchives" >  </telerik:RadFilter>
        
       <asp:CheckBox ID="cbxRadFilter" runat="server" AutoPostBack="True" Text="Masquer la gestion des filtres" />

Thank you :)

P.S: Sorry for my approximate English
Alexandre
Top achievements
Rank 1
 answered on 18 Nov 2013
9 answers
665 views
I have a RadGrid which I can export as an Excel (or CSV) file using MasterTableView.ExportToExcel.

The RadGrid has a GridClientSelectColumn - how can I export only selected (checked) rows to CSV/Excel?

If no rows are selected, then I also want to be able to export the whole grid / dataset.

Thanks,

Graham.

 

Princy
Top achievements
Rank 2
 answered on 18 Nov 2013
3 answers
399 views
i am attaching screen shot regarding it. i need same background of current date like orange in attached document.
Boyan Dimitrov
Telerik team
 answered on 18 Nov 2013
1 answer
134 views
Hi,

I have radtabstrip with two(or many) tabs in it.
I want to change font weight of unselected tab.

How can i do that?I tried

function

 

 

fnTabUnselected(sender, eventArgs) {

 

 

 

var tab = eventArgs.get_tab();

 

 

 

var tabname = tab.get_text();

 

$(

 

"tab").addClass("unselect");

 

}
but not working...

Magdalena
Telerik team
 answered on 18 Nov 2013
1 answer
181 views
Hi

This isn't a Radcontro issue, just looking for some help. Below is my Menu markup, I'm having trouble getting a handle on the radioButtonList on page load.

<telerik:RadMenu ID="rmAncillery" Runat="server" EnableEmbeddedSkins="false" Skin="Activity" ShowToggleHandle="false" ClientIDMode="Static" >
    <Items>
        <telerik:RadMenuItem Text="Logged in as Admin to Hospital 1" PostBack="false" ImageUrl="../App_Themes/Images/cog_16.png" i >
                <Items>
                    <telerik:RadMenuItem>
                        <ItemTemplate>
                            <asp:RadioButtonList ID="rblSiteGroup" runat="server"  AutoPostBack="true" CssClass="siteGroup"></asp:RadioButtonList>
                        </ItemTemplate>
                    </telerik:RadMenuItem>
 
                    <telerik:RadMenuItem>
                        <ItemTemplate>
                            <telerik:RadButton ID="btnSendAlert" runat="server" EnableEmbeddedSkins="False" Skin="Activity" Text="Send Alert" CssClass="nudge" Visible="true" AutoPostBack="false" Width="100px" >
                                <Icon PrimaryIconUrl="../App_Themes/Images/CallMessage_16.png" />
                            </telerik:RadButton>
                        </ItemTemplate>
                    </telerik:RadMenuItem>
 
                    <telerik:RadMenuItem>
                        <ItemTemplate>
                            <telerik:RadButton ID="btnLogOut" runat="server" EnableEmbeddedSkins="False" Skin="Activity" Text="Logout" CssClass="nudge" Visible="true" AutoPostBack="false" Width="100px" >
                                <Icon PrimaryIconUrl="../App_Themes/Images/locked_16.png" />
                            </telerik:RadButton>
                        </ItemTemplate>
                    </telerik:RadMenuItem>
                </Items>
        </telerik:RadMenuItem>
    </Items>
</telerik:RadMenu>

Andy
Helen
Telerik team
 answered on 18 Nov 2013
Narrow your results
Selected tags
Tags
+? more
Top users last month
Boardy
Top achievements
Rank 2
Veteran
Iron
Benjamin
Top achievements
Rank 3
Bronze
Iron
Veteran
ivory
Top achievements
Rank 1
Iron
Iron
Rob
Top achievements
Rank 3
Bronze
Bronze
Iron
ClausDC
Top achievements
Rank 2
Iron
Iron
Iron
Want to show your ninja superpower to fellow developers?
Top users last month
Boardy
Top achievements
Rank 2
Veteran
Iron
Benjamin
Top achievements
Rank 3
Bronze
Iron
Veteran
ivory
Top achievements
Rank 1
Iron
Iron
Rob
Top achievements
Rank 3
Bronze
Bronze
Iron
ClausDC
Top achievements
Rank 2
Iron
Iron
Iron
Want to show your ninja superpower to fellow developers?
Want to show your ninja superpower to fellow developers?