Telerik Forums
UI for ASP.NET AJAX Forum
2 answers
429 views
I have RadGrid on web page with ckeckbox inside it.

I want to fetch "datakey value" of multiple selected rows using checkbox at client side on button(which is outside RadGrid) click.

I tried below code but its not working:
<telerik:RadGrid ID="RadGrid1" EnableViewState="false" runat="server" AllowPaging="true" OnItemDataBound="RadGrid1_ItemDataBound"
                        AllowSorting="False" AllowFilteringByColumn="true" GridLines="None" OnInit="RadGrid1_Init" OnDeleteCommand="RadGrid1_DeleteCommand" >
                        <ItemStyle Wrap="false"></ItemStyle>
                        <MasterTableView AllowMultiColumnSorting="true" TableLayout="Fixed" DataKeyNames="Id" ClientDataKeyNames="Id">
                            <Columns>     
                                <telerik:GridTemplateColumn UniqueName="SelectRow" HeaderText="Select" AllowFiltering="false" HeaderStyle-Width="20px">
                                    <ItemTemplate>
<telerik:RadScriptBlock ID="RadScriptBlock1" runat="server">
<script type="text/javascript">
    function getDataKeyValues(chk) {
            
        //find datakeyvalue of selected row
        var masterTable = $find("<%=RadGrid1.ClientID%>").get_masterTableView();
        var count = masterTable.get_dataItems().length;
        var checkbox;
        var item;
        for (var i = 0; i < count; i++) {
            item = masterTable.get_dataItems()[i];
            checkbox = item.findElement("CheckBox1");
            if (checkbox.checked) {
                var dataKeyValue = item.getDataKeyValue("Id");
                //alert(dataKeyValue);
               
                var hiddenValue = document.getElementById("hdn_Id"); //get Id inside Hidden field
                hiddenValue.value = dataKeyValue;
                alert(hiddenValue.value);
            }
        }
    }
</script>
</telerik:RadScriptBlock>
                                        <asp:CheckBox ID="CheckBox1" runat="server" />
                                    </ItemTemplate>
                                </telerik:GridTemplateColumn>
                                <telerik:GridNumericColumn UniqueName="Id" DataField="Id" HeaderText="Id" HeaderStyle-Width="20px" AllowFiltering="False">
                                </telerik:GridNumericColumn>
                                <telerik:GridBoundColumn DataField="Description" HeaderText="Description" AndCurrentFilterFunction="Contains" FilterListOptions="AllowAllFilters" HeaderStyle-Width="100px">
                                </telerik:GridBoundColumn>
                               
                            </Columns>
                        </MasterTableView>
                        <PagerStyle AlwaysVisible="true" Mode="NumericPages"></PagerStyle>
                        <ClientSettings>
                            <Selecting  AllowRowSelect="true" />
                            <ClientEvents OnCommand="RadGrid1_Command" OnRowDataBound="RadGrid1_RowDataBound"></ClientEvents>
                        </ClientSettings>
                    </telerik:RadGrid>
<br />
                    <asp:HiddenField ID="hdn_Id" runat="server" />
                    <asp:Button ID="btnPrint" runat="server" Text="Print" CssClass="btn btn-primary" OnClick="btnPrint_Click" />


protected void RadGrid1_ItemDataBound(object sender, GridItemEventArgs e)
        {
            if(e.Item is GridDataItem)
            {   
                GridDataItem item = (GridDataItem)e.Item;
                CheckBox chk = (CheckBox)item.FindControl("CheckBox1");
                chk.Attributes.Add("onclick", "getDataKeyValues(this);");
            }
        }
 
protected void btnPrint_Click(object sender, EventArgs e)
        {
            funTax();
            foreach(GridDataItem item in RadGrid1.MasterTableView.Items)
            {
                CheckBox check = (CheckBox)item.FindControl("CheckBox1");               
                if (check.Checked == true)
                {
                    string itemId = hdn_Id.Value;
                    //Response.Redirect("~/Test.aspx?Id=" + itemId);
                }
            }
        }
Priyanka
Top achievements
Rank 1
 answered on 03 Jan 2015
2 answers
114 views
Hello,

I have a GridDateTimeColumn with a filter (markup below) that works fine if the user uses the datepicker.  If they type a date and hit enter, however, the page posts back once, where the filter is applied, but then posts back a second time which causes all kinds of bad behavior in our app.  I've tried setting autopostbackonfilter = false and setting a filter delay but the filter never gets applied.  Any ideas?

The markup:

<rad:GridDateTimeColumn DataField="OrderDate" UniqueName="GridDateTimeColumnOrderDate"
                                HeaderText="Date" FilterControlWidth="170px" HeaderStyle-Width="170px" SortExpression="OrderDate"
                                AutoPostBackOnFilter="true" CurrentFilterFunction="EqualTo" DataType="System.DateTime"
                                ShowFilterIcon="false" EnableTimeIndependentFiltering="true" FilterListOptions="VaryByDataType" />   
Bill
Top achievements
Rank 1
 answered on 02 Jan 2015
3 answers
315 views
I'm trying to pad the text of a RadComboBoxItem with spaces (to create a sense of hierarchy).  This works fine with a regular HTML select control:

<select>
    <option>Item 1</option>
    <option>&nbsp;&nbsp;Item 1.1</option>
    <option>&nbsp;&nbsp;Item 1.2</option>
    <option>Item 2</option>
    <option>&nbsp;&nbsp;Item 2.1</option>
    <option>&nbsp;&nbsp;&nbsp;&nbsp;Item 2.1.1</option>
    <option>&nbsp;&nbsp;&nbsp;&nbsp;Item 2.1.2</option>
    <option>Item 3</option>
    <option>&nbsp;&nbsp;Item 3.1</option>
    <option>&nbsp;&nbsp;Item 3.2</option>
</select>

However, when I try to set the text property of a RadComboBoxItem using html entities (&nbsp;), the control seems to be escaping the characters so it shows up exactly as typed instead of showing up as an actual space:item.Text = padding + asset.AssetName;

string padding = "";
for(int i = 0; i < depth; i++)
    padding += " ";
RadComboBoxItem item = new RadComboBoxItem();
item.Value = asset.AssetID.ToString();
item.Text = padding + asset.AssetName;
item.Enabled = (asset.Type == AssetType.AppSet);
item.Selected = (asset.AssetID == ParentAssetID);
rcb.Items.Add(item);

Any ideas about how to prevent the RadComboBox from escaping HTML entities?
Nencho
Telerik team
 answered on 02 Jan 2015
1 answer
76 views
I'm using a radwindow to open a popup, now there was requirement to add new links in the titlebar. From what I found, I used this javascript snippet:-
HereI'm inserting two new TDs just before default close button. The TD before that is what contains an TD>> EM for title text of radwindow.
function openPopUpWindow(Url, name) {
    var win = window.radopen(Url, name);
    winRad1 = win;
    var TitleBar = win.GetTitlebar();
    var parent = TitleBar.parentNode;
    var oUL = parent.getElementsByTagName('TR')[0];  
    secondTD = oUL.getElementsByTagName('TD')[1];
    innerEm = oUL.getElementsByTagName('EM')[0];   // This is where I want to change width
    innerEm.id = 'TitleRadEM';                   // Assign an ID to it; Can't chnage it's width here as before load it's empty
    elementThis = innerEm;
    win.add_pageLoad(OnClientPageLoad12);
    win.add_activate(OnClientActivate12);
    win.add_resizeEnd(OnClientResizeEnd12);
    if (!(oUL.firstChild.id == "helplink")) {
        var oLI = document.createElement("TD");
        oLI.id = "helplink"
        oLI.style.cssText = 'width:22px;';
        var Em = document.createElement("EM");
        var EmClose = document.createElement("EM");
        var A = document.createElement("A");
        oLI.appendChild(Em);
        A.className = "helplinclass";
        A.href = "https://support.xyzxyzxyz.com/";
        A.target = "_blank";
        A.title = "Help";
        A.id = 'HelpLink';
        A.innerHTML = 'Help';
        Em.appendChild(A);
        oUL.insertBefore(oLI, oUL.lastChild);
        var oLI2 = document.createElement("TD");
        oLI2.style.cssText = 'width:22px;';
        oLI2.appendChild(EmClose);
        EmClose.unselectable = 'on';
        EmClose.innerHTML = '  Close';
        EmClose.style["font-size"] = "10pt";
        EmClose.style.cssText = 'font-size:10pt; padding-right:-1px;';
        oUL.insertBefore(oLI2, oUL.lastChild);
        win._updateTitleWidth();
    }
    win.center();
    win.autoSize(false); // tried with true and without this as well
}
function OnClientPageLoad12() {
    var windowR = GetRadWindowManager();
    if (winRad1 != null) {
        var win = winRad1;
        var TitleBar = win.GetTitlebar();
        var parent = TitleBar.parentNode;
        var oUL = parent.getElementsByTagName('TR')[0];
        secondTD = oUL.getElementsByTagName('TD')[1];
        innerEm = oUL.getElementsByTagName('EM')[0];
        innerEm.style.cssText = 'width:850px;';
        win._updateTitleWidth();
    }
 
}
 
function OnClientActivate12() {
    document.getElementById('TitleRadEM').style.cssText = 'width:850px;';
    elementThis.style.cssText = 'width:850px;';
}


The problem is that as the rad window is loaded the UI gets a bit distorted at right hand side of radwindow.
As I've inserted a new elements (2 tds); original width changes and this causes the width to overflow at RHS. Now to correct this I tried changing width of title TD (containing the text just before the Help link) of the titlebar but this is not working. 
I bind a loadevent as well activate event in the above code:-
Therefore I try to reduce the width of TD containing the title text so that new links can be accomodated. To achieve this I biI bind a loadevent as well activate event in the above code:-
In OnClientPageLoad12 at first the width is adjusted and then after telerk's js is executed it again get's distorted.
In OnClientActivate12: the width is adjusted just the right way but I've to click on radwindow to activate it.

FYI: I've used both approaches, that is accessing element through document.getElementby and from radwindowmanager.


Please help me to move in the right direction.
Rahul
Top achievements
Rank 1
 answered on 02 Jan 2015
2 answers
114 views
Hi Telerik,

I have a bizarre bug where RadScheduler won't properly wrap a multi-day appointment to the next week for some time zones in the month of November.  I've created a sample project that reproduces the issue.  I haven't gone thru the trouble of mapping out which time zones break the control, but more than a few do in my experimentation.  There are two Appointments - you can see the November appointment doesn't wrap when using "Pacific Standard Time", but the December appoint does wrap properly.  If you change the time zone to "US Mountain Standard Time", then everything works as expected.

Here's the Default.aspx.cs:

using System;
using System.Collections.Generic;
using System.Drawing;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using Telerik.Web.UI;
 
namespace SchedulerBug
{
    public partial class Default : System.Web.UI.Page
    {
        class ATGAppointment
        {
            public int AppointmentId { get; set; }
            public string Subject { get; set; }
            public DateTime Start { get; set; }
            public DateTime End { get; set; }
        }
 
        private List<ATGAppointment> Appointments = new List<ATGAppointment>()
        {
            new ATGAppointment()
            {
                AppointmentId = 1,
                Subject = "Some multi-day appointment from 11/4/14 to 11/28/14",
                Start = new DateTime(2014, 11, 4, 0, 0, 0),
                End = new DateTime(2014, 11, 28, 11, 59, 0)
            },
            new ATGAppointment()
            {
                AppointmentId = 2,
                Subject = "Some multi-day appointment from 12/10/14 to 12/28/14",
                Start = new DateTime(2014, 12, 10, 0, 0, 0),
                End = new DateTime(2014, 12, 28, 11, 59, 0)
            }
        };
 
        protected void Page_Load(object sender, EventArgs e)
        {
            if (!this.IsPostBack)
            {
                RadScheduler1.DataSource = this.Appointments;
                RadScheduler1.DataBind();
 
                RadScheduler1.SelectedDate = new DateTime(2014, 11, 1);
 
                // Doesn't wrap in November month view
                RadScheduler1.TimeZoneID = "Pacific Standard Time";
 
                // Wraps when set to this time zone
                //RadScheduler1.TimeZoneID = "US Mountain Standard Time";
            }
        }
    }
}


And the corresponding Default.aspx:

<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="Default.aspx.cs" Inherits="SchedulerBug.Default" %>
<%@ Register Assembly="Telerik.Web.UI" Namespace="Telerik.Web.UI" TagPrefix="telerik" %>
<!DOCTYPE html>
<head runat="server">
    <title></title>
</head>
<body>
    <form id="form1" runat="server">
        <asp:ScriptManager ID="ScriptManager1" runat="server"></asp:ScriptManager>
        <div>
            <telerik:RadScheduler ID="RadScheduler1" runat="server" Width="850px" Height="100%"
                DataKeyField="AppointmentId"
                DataSubjectField="Subject"
                DataStartField="Start"
                DataEndField="End"
                SelectedView="MonthView">
            </telerik:RadScheduler>
        </div>
    </form>
</body>
</html>

I am using Telerik UI for ASP.NET AJAX 2014 Q3.

Is this a known issue, and do you know of any work-arounds for this?

Thanks,
Mike Kolbly
 





Plamen
Telerik team
 answered on 02 Jan 2015
1 answer
56 views
Is there any way to get ID of selected task.

I have seen that there is no event on selection of task.
Nencho
Telerik team
 answered on 02 Jan 2015
1 answer
213 views
I have following RadGantt chart it is not showing parent child hierarchy properly. it is creating hierarchy but displaying same as parent.

<
telerik:RadGantt runat="server" ID="RadGantt1"
                            SnapToGrid="false"
                            OnDependencyInsert="RadGantt1_DependencyInsert"
                            OnDependencyDelete="RadGantt1_DependencyDelete"
                            OnTaskDelete="RadGantt1_TaskDelete"
                            OnTaskUpdate="RadGantt1_TaskUpdate"
                            OnTaskInsert="RadGantt1_TaskInsert" SelectedView="WeekView" AutoGenerateColumns="false"
                            OnPreRender="RadGantt1_PreRender">
                            <YearView UserSelectable="true" />
                            <Columns>
                                <telerik:GanttBoundColumn DataField="Title"></telerik:GanttBoundColumn>
                                <telerik:GanttBoundColumn DataField="Start"></telerik:GanttBoundColumn>
                                <telerik:GanttBoundColumn DataField="End"></telerik:GanttBoundColumn>
                                <telerik:GanttBoundColumn DataField="Duration" DataType="DateTime" HeaderText="Duration" DataFormatString="{0:HH\:MM\:SS}"></telerik:GanttBoundColumn>
                            </Columns>
                            <DataBindings>
                                <TasksDataBindings IdField="ID" TitleField="Title" StartField="Start" EndField="End"
                                    PercentCompleteField="PercentComplete" OrderIdField="OrderID" SummaryField="Summary" ParentIdField="ParentID" />
                                <DependenciesDataBindings IdField="ID" PredecessorIdField="PredecessorID"
                                    SuccessorIdField="SuccessorID" TypeField="Type" />
                            </DataBindings>
                        </telerik:RadGantt>



while (reader.Read())
                    {
                        Task t = new Task();
 
                        t.ID = reader.GetValue(0);
                        t.Title = reader.GetString(1);
                        t.Start = reader.GetDateTime(2);
                        t.End = reader.GetDateTime(3);
                        t.PercentComplete = decimal.Parse(reader.GetValue(4).ToString());
                        t.OrderID=1;
                        t.ParentID = reader.GetValue(5);
                        sessionTasks.Add(t);
                    }
RadGantt1.DataSource = Tasks;
           RadGantt1.DependenciesDataSource = Dependencies;


Nencho
Telerik team
 answered on 02 Jan 2015
3 answers
74 views
I written some client side code that edits the Item Collection of a RadDropDownList.
The problem is that when I do a postback, the serverside only detects the original list.

I don't see what I've done wrong.
This is what I have so far:
var ddl = $find("<%=_ddlLidsIndicators.ClientID%>");
ddl.get_items().clear();
 
var selectItem = new Telerik.Web.UI.DropDownListItem();
selectItem.set_text("Select...");
ddl.get_items().add(selectItem);
 
$.each(data, function (index, value) {
    var newItem = new Telerik.Web.UI.DropDownListItem();
    newItem.set_text(value);
    newItem.set_value(index);
    ddl.get_items().add(newItem);
});
 
var otherItem = new Telerik.Web.UI.DropDownListItem();
otherItem.set_text("Other");
ddl.get_items().add(otherItem);
 
ddl.commitChanges();

 

Plamen
Telerik team
 answered on 02 Jan 2015
4 answers
310 views
Hi
I there Any Way tO use RadControls with Shamsi Date (jalali date ) ????
Plamen
Telerik team
 answered on 02 Jan 2015
5 answers
394 views
Hello, 

I am developing a RadMenu similar to the one from this demo: http://demos.telerik.com/aspnet-ajax/menu/examples/functionality/templates/defaultcs.aspx.

I would like to know how to bind that menu programmatically from C# Code. I need to load menu from database and couldn't find out how to do that. I also need to have thumbnail image for each parent menu same as from that demo. If there is any sample code available, please let me know. Currently, I am populating the menu manually and you can see the sample code below.

<telerik:RadMenu runat="server" ID="RadMenu1" Skin="Glow" Width="100%" Visible="false"
    OnItemClick="RadMenu1_ItemClick">
    <DefaultGroupSettings Height="270px" />
    <Items>
        <telerik:RadMenuItem Text="Home" NavigateUrl="Dashboard.aspx">
        </telerik:RadMenuItem>
        <telerik:RadMenuItem Text="Configuration">
            <ContentTemplate>
                <telerik:RadSiteMap runat="server" ID="RadSiteMap1" Skin="Glow" CssClass="itemContent configuration">
                    <DefaultLevelSettings ListLayout-RepeatColumns="3"></DefaultLevelSettings>
                    <Nodes>
                        <telerik:RadSiteMapNode Text="General Settings" NavigateUrl="GeneralSetting.aspx"></telerik:RadSiteMapNode>
                        <telerik:RadSiteMapNode Text="Network Configuration" NavigateUrl="NetworkConfigs.aspx"></telerik:RadSiteMapNode>
                        <telerik:RadSiteMapNode Text="Security Cameras" NavigateUrl="SecurityCameras.aspx"></telerik:RadSiteMapNode>
                    </Nodes>
                </telerik:RadSiteMap>
            </ContentTemplate>
        </telerik:RadMenuItem>
        <telerik:RadMenuItem Text="Administration">
            <ContentTemplate>
                <telerik:RadSiteMap runat="server" ID="RadSiteMap2" Skin="Glow" CssClass="itemContent administration">
                    <DefaultLevelSettings ListLayout-RepeatColumns="3"></DefaultLevelSettings>
                    <Nodes>
                        <telerik:RadSiteMapNode Text="Admin Menu 1" NavigateUrl="AdminMenu1.aspx"></telerik:RadSiteMapNode>
                        <telerik:RadSiteMapNode Text="Admin Menu 2" NavigateUrl="AdminMenu2.aspx"></telerik:RadSiteMapNode>
                        <telerik:RadSiteMapNode Text="Admin Menu 3" NavigateUrl="AdminMenu3.aspx"></telerik:RadSiteMapNode>
                    </Nodes>
                </telerik:RadSiteMap>
            </ContentTemplate>
        </telerik:RadMenuItem>
        <telerik:RadMenuItem Text="Setup">
            <ContentTemplate>
                <telerik:RadSiteMap runat="server" ID="RadSiteMap3" Skin="Glow" CssClass="itemContent setup">
                    <DefaultLevelSettings ListLayout-RepeatColumns="3"></DefaultLevelSettings>
                    <Nodes>
                        <telerik:RadSiteMapNode Text="Setup Menu 1" NavigateUrl="Setup1.aspx"></telerik:RadSiteMapNode>
                        <telerik:RadSiteMapNode Text="Setup Menu 2" NavigateUrl="Setup2.aspx"></telerik:RadSiteMapNode>
                        <telerik:RadSiteMapNode Text="Setup Menu 3"></telerik:RadSiteMapNode>
                        <telerik:RadSiteMapNode Text="Setup Menu 4" NavigateUrl="Setup4.aspx"></telerik:RadSiteMapNode>
                    </Nodes>
                </telerik:RadSiteMap>
            </ContentTemplate>
        </telerik:RadMenuItem>
        <telerik:RadMenuItem Text="Logout" CssClass="menu-logout" Value="logout">
        </telerik:RadMenuItem>
    </Items>
</telerik:RadMenu>


Thanks in advanced,
Robin
Robin
Top achievements
Rank 2
 answered on 02 Jan 2015
Narrow your results
Selected tags
Tags
+? more
Top users last month
Jay
Top achievements
Rank 3
Iron
Iron
Iron
yw
Top achievements
Rank 2
Iron
Iron
Stefan
Top achievements
Rank 2
Iron
Iron
Iron
Kao Hung
Top achievements
Rank 1
Iron
Bohdan
Top achievements
Rank 2
Iron
Iron
Iron
Want to show your ninja superpower to fellow developers?
Top users last month
Jay
Top achievements
Rank 3
Iron
Iron
Iron
yw
Top achievements
Rank 2
Iron
Iron
Stefan
Top achievements
Rank 2
Iron
Iron
Iron
Kao Hung
Top achievements
Rank 1
Iron
Bohdan
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?