Telerik Forums
UI for ASP.NET AJAX Forum
3 answers
173 views
Hello,

We are having a problem with the grid not maintaining column width on postback when you set EnableViewState = false. If I enable the property it works. However, there are other problems that occur if we leave it enabled.

We were running on the last 2012 build up until now. I noticed in the 2013.1.220 release notes this: "Fixed:EnableViewState property of RadGrid does not turn off the ViewState of RadGrid instanceā€. And according to this documentation http://www.telerik.com/help/aspnet-ajax/grid-viewstate-optimization.html, various column properties are maintained even with the property set to false.

To recreate the problem all you need to do is create a declarative grid and set EnableViewState=false and hookup the onColumnResize event to postback. 

Also, if you reorder columns first and then resize a column, the order will reset.

Any help would be appreciated.

Blair
Maria Ilieva
Telerik team
 answered on 29 May 2014
12 answers
463 views

I have a DatePicker in a RadGrid defined as follows:

<telerik:GridTemplateColumn HeaderText="Birthdate" UniqueName="scout_dob">  
    <ItemStyle Width="75" /> 
    <ItemTemplate> 
        <asp:Label Width="70" CssClass="gridLabel" runat="server" ID="lbl_scout_dob" Text='<%# Eval("scout_dob_new") %>' /> 
    </ItemTemplate> 
    <EditItemTemplate>                              
        <telerik:RadDatePicker Width="70" ID="dp_scout_dob" Style="vertical-align: middle;" SelectedDate='<%# Bind("scout_dob") %>' runat="server">  
            <DatePopupButton Visible="False"></DatePopupButton> 
            <DateInput onclick="scoutDOBPopup()" runat="server" /> 
        </telerik:RadDatePicker> 
    </EditItemTemplate> 
</telerik:GridTemplateColumn> 

I cannot seem to get the calendar to popup on clicking the date box. The problem is I can't seem to find the ClientID of the DatePicker. Using <%= dp_scout_dob.ClientID %> either in a $find command in the JavaScript or passing it in the onclick event both return NULL. I even tried to figure out the actual elementID and use a getElementByID command in the JavaScript, but I couldn't seem to figure out what the actual ClientID is.

Can someone point me in the right direction? Either help me figure out how to reference the ClientID or what the actual full ClientID is if this control is inside a RadGrid? Thanks.
Sam
Top achievements
Rank 1
 answered on 29 May 2014
2 answers
114 views
Hi all I have Grid having Child grids inside it and am implementing select / deselect all functionality on it it is  working but when I collapse any grid then the record of  that grid getting selected too . Please help me out on that I have used a hiddenfield to keep the client id of  all checkbox against each record. on Item data bound event.  please look in to  the code below Let me knoew What else I  can try.


<%@ Page Language="C#" MasterPageFile="~/MasterPages/Default.master" AutoEventWireup="true"
    CodeFile="Default.aspx.cs"  Inherits="MainClass"
    Title="Vendor Returns" %>

<asp:Content ID="Content1" ContentPlaceHolderID="ContentPlaceHolder_Content" runat="Server">
    <telerik:RadScriptBlock ID="ItemsRadScriptBlock" runat="server">
        <script type="text/javascript">
           
            var registeredElements = [];
            var selectDeselectAllFlag = true;

            function GetRegisteredServerElement() {
                try {
                    var clientIDs = document.getElementById('CheckboxIDsHiddenField').value;
                    var inputList = clientIDs.split(',');
                    var clientID = "";
                    alert(inputList.length);
                    for (var i = 0; i < (inputList.length) ; i++) {
                        clientID = inputList[i];
                        var checkbox = document.getElementById(clientID);
                        if (checkbox) {
                            checkbox.checked = selectDeselectAllFlag;
                        }
                    }
                    selectDeselectAllFlag = !selectDeselectAllFlag;
                    return true;
                }
                catch (er) {
                }
            }
            

        </script>
    </telerik:RadScriptBlock>
    <telerik:RadSplitter ID="splitterMain" runat="server">
        <telerik:RadPane ID="panetop" runat="server" SkinID="TopRadPane" Height="80px">
        </telerik:RadPane>
        <telerik:RadSplitBar ID="RadSplitBar1" runat="server">
        </telerik:RadSplitBar>
        <telerik:RadPane ID="panebottom" runat="server" SkinID="BottomRadPane" Scrolling="Both">
            <asp:Label ID="MessageLabel" runat="server" SkinID="MessageLabel" Visible="false"></asp:Label>
            <table width="100%">
                <tr>
                    <td>
                        <div class="RadGridHorizontalScroll" style="width: auto" id="RadGridTableContainer">
                            <telerik:RadGrid ID="RadGrid" runat="server" OnItemDataBound="RadGrid_ItemDataBound"
                                OnNeedDataSource="RadGrid_NeedDataSource" OnDetailTableDataBind="RadGrid_DetailTableDataBind"
                                OnItemCreated="RadGrid_ItemCreated">
                                <ClientSettings>
                                    <Selecting AllowRowSelect="True"></Selecting>
                                    <Resizing AllowColumnResize="true" EnableRealTimeResize="true" ResizeGridOnColumnResize="true"
                                        ClipCellContentOnResize="true" />
                                </ClientSettings>
                                <MasterTableView  CommandItemDisplay="Top" HorizontalAlign="left"
                                    Name="Vendors" HierarchyDefaultExpanded="True" HierarchyLoadMode="Client">
                                    <CommandItemTemplate>
                                        <table class="ContentPaddingLeft">
                                            <tr>
                                                <td class="ButtonSeparator">
                                                    <asp:LinkButton ID="SelectDeselectAllLinkButton" runat="server" OnClientClick="return GetRegisteredServerElement();"
                                                        Text="Select / Deselect All" SkinID="SmallCommandItemTemplateLinkButton"></asp:LinkButton>
                                                </td>
                                            </tr>
                                           
                                        </table>
                                    </CommandItemTemplate> 
                                    <Columns>
                                        <telerik:GridBoundColumn DataField="Name" UniqueName="Name" HeaderText="">
                                        </telerik:GridBoundColumn>
                                    </Columns>
                                    <ExpandCollapseColumn Visible="False">
                                        <HeaderStyle Width="19px" />
                                    </ExpandCollapseColumn>
                                    <RowIndicatorColumn Visible="False">
                                        <HeaderStyle Width="20px" />
                                    </RowIndicatorColumn>
                                    <DetailTables>
                                        <telerik:GridTableView runat="server" DataKeyNames="VendorID,PartID" Name="VendorReturns"
                                           AllowMultiColumnSorting="true" EnableViewState="true" BorderWidth="1">
                                            <ExpandCollapseColumn Visible="True">
                                            </ExpandCollapseColumn>
                                            <Columns>
                                                <telerik:GridTemplateColumn UniqueName="ShowEditColumn" ItemStyle-Wrap="false" ItemStyle-HorizontalAlign="Left"
                                                    HeaderText="" Resizable="false" Reorderable="false" ItemStyle-Width="25px" HeaderStyle-Width="85px">
                                                    <ItemTemplate>
                                                        <table style="white-space: nowrap">
                                                            <tr>
                                                                <td style="border: white">
                                                                    <asp:CheckBox ID="AllowCheckBox" runat="server" />
                                                                    <telerik:RadScriptBlock ID="VendorReturnRadScriptBlock" runat="server">
                                                                        
                                                                    </telerik:RadScriptBlock>
                                                                </td>
                                                                <td style="border: white">
                                                                    <asp:LinkButton ID="EditLinkButton" Text="Edit" runat="server" SkinID="SmallLinkButton"></asp:LinkButton>
                                                                </td>
                                                            </tr>
                                                        </table>
                                                    </ItemTemplate>
                                                    <ItemStyle Wrap="true" Width="10px" />
                                                </telerik:GridTemplateColumn>
                                                Some other Columns are  here
                                            </Columns>
                                        </telerik:GridTableView>
                                    </DetailTables>
                                </MasterTableView>
                            </telerik:RadGrid>
                        </div>
                        <telerik:RadAjaxManagerProxy ID="radAjaxProxyManager" runat="server">
                        </telerik:RadAjaxManagerProxy>
                        <telerik:RadAjaxLoadingPanel ID="radAjaxLoadingPanel" runat="server" />
                    </td>
                </tr>
            </table>
        </telerik:RadPane>
    </telerik:RadSplitter>
    <asp:HiddenField runat="server" ID="CheckboxIDsHiddenField" ClientIDMode="static" />
</asp:Content>

And My CS file is as 
using System;
using System.Collections.Generic;
using System.Data;
using System.Linq;
using System.Security;
using System.Web.UI.WebControls;
using Telerik.Web.UI;
using System.Text;

public partial class MainClass : PageHandler
{
    #region Declarations
    String clientid = String.Empty;
    StringBuilder _clientIDs = new StringBuilder();

   

    #endregion

    #region Event Handlers

    protected void Page_PreRender(object sender, EventArgs e)
    {
        if (_selectDeselectAllLinkButton != null )
        {
            _selectDeselectAllLinkButton.Enabled = _isChildExist;
        }
        if (_expandCollapsAllLinkButton != null)
            _expandCollapsAllLinkButton.Enabled = _isRowExist;

        AlignRadComboBoxTextLeft(Page);
    }

    protected void Page_Init(object sender, EventArgs e)
    {
        AddCustomPager(RadGrid);
    }

    protected void Page_Load(object sender, EventArgs e)
    {
        MessageLabel.Visible = false;
       
        
        RadAjaxManager radAjaxManager = RadAjaxManager.GetCurrent(Page);
        radAjaxManager.AjaxSettings.AddAjaxSetting(radAjaxManager, CheckboxIDsHiddenField);
        radAjaxManager.AjaxSettings.AddAjaxSetting(radAjaxManager, RadGrid);
        radAjaxManager.AjaxSettings.AddAjaxSetting(RadGrid, CheckboxIDsHiddenField);
        radAjaxManager.AjaxSettings.AddAjaxSetting(RadGrid, MessageLabel);
       
    }

  

   

    protected void RadGrid_ItemDataBound(object sender, Telerik.Web.UI.GridItemEventArgs e)
    {
        try
        {
            if (e.Item is GridCommandItem)
            {
                _selectDeselectAllLinkButton = e.Item.FindControl("SelectDeselectAllLinkButton") as LinkButton;
                _expandCollapsAllLinkButton = e.Item.FindControl("ExpandCollapsAllLinkButton") as LinkButton;
            }

            if (e.Item is GridDataItem)
            {
                GridDataItem dataItem = e.Item as GridDataItem;
                if (dataItem != null)
                {
                    CheckBox selectCheckBox = dataItem.FindControl("AllowCheckBox") as CheckBox;
                    if (selectCheckBox != null)
                    {
                        clientid = selectCheckBox.ClientID;
                        _clientIDs.Append(clientid);
                        _clientIDs.Append(",");
                    }
                }
                _isRowExist = true;
               
            if (e.Item is GridFooterItem)
            {
                if (_clientIDs.ToString().Length > 0)
                {
                    String clientIDs = _clientIDs.ToString(0, _clientIDs.ToString().Length - 1);
                    CheckboxIDsHiddenField.Value = clientIDs;
                }
            }
        }
        catch (SecurityException ex)
        {
            ExceptionHandler exceptionHandler = new ExceptionHandler(MessageLabel);
            exceptionHandler.HandleException(ex);
        }
        catch (DataPortalException ex)
        {
            ExceptionHandler exceptionHandler = new ExceptionHandler(MessageLabel);
            exceptionHandler.HandleException(ex);
        }
        
    }

   

  

    protected void ExpandCollapsAllLinkButton_Click(object sender, EventArgs e)
    {
        foreach (GridDataItem gridItems in RadGrid.MasterTableView.Items)
        {
            gridItems.Expanded = _flag;
        }
        _flag = !_flag;
    }

    protected void UserStoreroomRadComboBox_SelectedIndexChanged(object o, RadComboBoxSelectedIndexChangedEventArgs e)
    {
        
        RadGrid.Rebind();
    }

   

    #endregion

    #region Class Functions

    }

    #endregion
}  

Please help me as  soon as possible . Thanks in Advance


Angel Petrov
Telerik team
 answered on 29 May 2014
1 answer
586 views
Hello,

I'm currently working on a project with RadGrid.

In my grid I have the first column GridClientSelectColumn (Checkbox).

VB.NET Code:
'add check box column
            Dim objGridClientSelectColumn As GridClientSelectColumn = New GridClientSelectColumn()
            objGridClientSelectColumn.UniqueName = "UniqMainGrid"
            RadGrid1.MasterTableView.Columns.Add(objGridClientSelectColumn)


When I click "Select all", all the rows on the same page are selected.

What I need is that when I clicked "Select All / Select None" it will "Select / Un-select"
all rows in all pages.


Thanks in advance,

Daniel.



Princy
Top achievements
Rank 2
 answered on 29 May 2014
2 answers
104 views

Hi,

Could you show me how to get the innertext (company_name) from the legend in the ItemCommand event?  I tried the following, but the error is object reference not set.

Here's the partial code that shows the legend:
1.<ItemTemplate>
2.    
3.        <fieldset style="float:left; width: 480px; height:280px; margin:5px; ">
4. 
5.            <legend ID="companyName" style="color:darkblue; font-weight:bold">
6.                      <%#Eval("company_name")%><img src="../../images/new1.png" style="width:15px;height:15px" />
7.            </legend>

Here's the code-behind

01.protected void RadListView1_ItemCommand(object sender, RadListViewCommandEventArgs e)
02.{
03.    // TODO: need to pass leadid to main.
04.    if (e.CommandName == "OpenDetail")
05.    {
06.        RadListViewDataItem item = e.ListViewItem as RadListViewDataItem;
07.        string leadId = item.GetDataKeyValue("lead_id").ToString();
08. 
09.        //Label websitelabel = item.FindControl("WebsiteLabel") as Label;  // ** accesss ok **//
10.         
11.        // ** object reference not set **//
12.        string leadName = (item.FindControl("companyName") as System.Web.UI.HtmlControls.HtmlGenericControl).InnerText;
13. 
14.        // ** Not working **//
15.        //Hashtable table = new Hashtable();
16.        //item.OwnerListView.ExtractValuesFromItem(table, item, true);
17.        //string leadName = table["CompanyLegend"].ToString();
18.        //string leadName = "ABC";
19. 
20.        OutcomeEventArgs outcomeEventArgs = new OutcomeEventArgs(leadId, leadName);
21.        if (OpenLeadDetail != null)
22.            OpenLeadDetail(this, outcomeEventArgs);
23.    }
24. 
25.}

Thank you,

Helen

Helen
Top achievements
Rank 1
 answered on 29 May 2014
1 answer
241 views
I want to create a barchart as displayed in the figure. Not able to create an additional X axis in the RADHTMLChart. Please guide me how to create a bar chart like this.
Danail Vasilev
Telerik team
 answered on 29 May 2014
11 answers
123 views
Hi ,
I have binded a RadHtmlchart where my Datatable contains mixed numbers like few may be numbers and few are decimals so, when I see the tootltip I see in number format though conditionally I am assigning the tootltip as {0:N} for decimal and {0:N0} for number so,please let me know how solve this as when decimal data is there in tooltip expected is a decimal ex:22.44 and for number ex:22 is expected.

Thanks,
Chary.
Danail Vasilev
Telerik team
 answered on 29 May 2014
3 answers
167 views
I'm programmatically binding data to a RadSearchBox [I get my data list back from a Service Reference] and I set the DataTextField and DataValueField, then I set the DataSource - all without errors.  However, when I start typing in the search box, I receive a popup on the page: DataSource not set

What am I missing?
<telerik:RadSearchBox runat="server" ID="radTest" OnSearch="radTest_OnSearch"></telerik:RadSearchBox>

protected void Page_Load(object sender, EventArgs e)
{
  if (!IsPostBack)
  {
    UserServiceClient client = new UserServiceClient();
    var users = client.GetSecurityUsers().ToList();
    radTest.DataTextField = "full_name";
    radTest.DataValueField = "user_id";
    radTest.DataSource = users;
  }
}
protected void radTest_OnSearch(object sender, SearchBoxEventArgs e)
{
  UserServiceClient client = new UserServiceClient();
  var users = client.GetSecurityUsers().ToList();
  if (!string.IsNullOrEmpty(e.Text))
  {
    users = users.Where(i => i.full_name.Contains(e.Text)).ToList();
  }
  radTest.DataTextField = "full_name";
  radTest.DataValueField = "user_id";
  radTest.DataSource = users;
}



Aneliya Petkova
Telerik team
 answered on 29 May 2014
1 answer
167 views
A normal asp:Panel with GroupingText set should render as a fieldset with GroupingText's value as its legend. This code below works.

<head runat="server">
    <title></title>
</head>
<body>
    <form id="form1" runat="server">
        <div>
            <asp:ScriptManager runat="server" ID="rsm"></asp:ScriptManager>
            <asp:Panel ID="pnlMailingAddr" runat="server" meta:resourcekey="pnlMailingAddrResource1" Visible="True" ViewStateMode="Enabled" GroupingText="Mailing Address Information">
                <table border="0px" cellpadding="5px" cellspacing="5px" width="100%">
                    <tr>
                        <td>John Legend
                        </td>
                    </tr>
 
 
                </table>
            </asp:Panel>
        </div>
    </form>
 
</body>
</html>

But the same code using the RadAjaxPanel does not.
<head runat="server">
    <title></title>
</head>
<body>
    <form id="form1" runat="server">
        <div>
            <asp:ScriptManager runat="server" ID="rsm"></asp:ScriptManager>
            <asp:RadAjaxPanel ID="pnlMailingAddr" runat="server" meta:resourcekey="pnlMailingAddrResource1" Visible="True" ViewStateMode="Enabled" GroupingText="Mailing Address Information">
                <table border="0px" cellpadding="5px" cellspacing="5px" width="100%">
                    <tr>
                        <td>John Legend
                        </td>
                    </tr>
 
 
                </table>
            </asp:RadAjaxPanel>
        </div>
    </form>
 
</body>
</html>


Shinu
Top achievements
Rank 2
 answered on 29 May 2014
1 answer
159 views
I have a radgrid with search functionality,when i search a record and press tab the cursor gets lost,ideally it should go to next filter column.This is happening only in core IE8.I have attached gif file for more details.Please have a look.



Please Suggest.
Konstantin Dikov
Telerik team
 answered on 29 May 2014
Narrow your results
Selected tags
Tags
+? more
Top users last month
Chester
Top achievements
Rank 1
Iron
Simon
Top achievements
Rank 1
Iron
Douglas
Top achievements
Rank 2
Iron
Iron
SUNIL
Top achievements
Rank 3
Iron
Iron
Iron
Marco
Top achievements
Rank 3
Iron
Iron
Iron
Want to show your ninja superpower to fellow developers?
Top users last month
Chester
Top achievements
Rank 1
Iron
Simon
Top achievements
Rank 1
Iron
Douglas
Top achievements
Rank 2
Iron
Iron
SUNIL
Top achievements
Rank 3
Iron
Iron
Iron
Marco
Top achievements
Rank 3
Iron
Iron
Iron
Want to show your ninja superpower to fellow developers?
Want to show your ninja superpower to fellow developers?