Telerik Forums
UI for ASP.NET AJAX Forum
14 answers
1.0K+ views
We are using a rad grid with edit form that opens in popup on the Edit event of each row. Currently grid refreshes each time the edit link is clicked and take time to open the Popup which is impacting the performance. Moreover if we cancel or close the popup
(handled by cancel event) the grid again refreshes and this action also takes time which in fact should be immediate.

Is there anyway to control the rebind of grid on these events.
Structure of grid:
<telerik:RadAjaxManager ID="RadAjaxManager1" runat="server">
    <AjaxSettings>
        <telerik:AjaxSetting AjaxControlID="radGridComingSoon">
            <UpdatedControls>
                <telerik:AjaxUpdatedControl ControlID="radGridComingSoon">
                </telerik:AjaxUpdatedControl>
            </UpdatedControls>
        </telerik:AjaxSetting>
    </AjaxSettings>
</telerik:RadAjaxManager>
<telerik:RadAjaxLoadingPanel ID="comingSoonRadAjaxLoadingPanel" runat="server">
</telerik:RadAjaxLoadingPanel>

                            <telerik:RadGrid ID="radGridComingSoon" AllowSorting="True" AllowPaging="True" runat="server"
                                OnItemCreated="radGridComingSoon_ItemCreated" OnItemDataBound="radGridComingSoon_ItemDataBound"
                                GridLines="None" OnInsertCommand="radGridComingSoon_InsertCommand" OnUpdateCommand="radGridComingSoon_UpdateCommand"
                                OnDeleteCommand="radGridComingSoon_DeleteCommand" OnItemCommand="radGridComingSoon_ItemCommand"
                                BorderStyle="Solid" AutoGenerateColumns="false" AllowMultiRowEdit="false" EnableViewState="true"
                                OnPreRender="radGridComingSoon_PreRender" AllowCustomSorting="true">
                                <PagerStyle Mode="NextPrevAndNumeric" PrevPageText="Prev" FirstPageText="First" NextPageText="Next"
                                    LastPageText="Last"></PagerStyle>
                                <MasterTableView Width="100%" CommandItemDisplay="Top" DataKeyNames="StandardNumber"
                                    AutoGenerateColumns="false" InsertItemDisplay="Top" InsertItemPageIndexAction="ShowItemOnFirstPage"
                                    EditMode="PopUp">
                                    <EditFormSettings InsertCaption="Add Coming Soon" CaptionFormatString="Edit Coming Soon">
                                        <PopUpSettings Modal="true" Width="742px" Height="1400px" ZIndex="201" />
                                    </EditFormSettings>
                                    <ItemTemplate>
                                        <table class="expandable standards-table">
                                            <tbody>
                                                <tr data-id='<%# Eval("ComingSoonId") %>'>
                                                    <td width="100px">
                                                        <asp:Label runat="server" ID="StandardNumberLabel" Text='<%# Eval("StandardNumber") %>'></asp:Label>
                                                          <td class="icon-column" width="50px" id="tdEditDeleteLink" runat="server">
                                                        <asp:LinkButton ID="btnUpdateEdited" runat="server" CommandName="Edit" CssClass="Edit-Summary"><i class="icon edit"></i></asp:LinkButton>
                                                        <asp:LinkButton ID="lnkBtnDelete" runat="server" CommandName="Delete" CssClass="delete"><i class="icon remove delete"></i></asp:LinkButton>
                                                    </td>
                                                    <td>
                                                        <asp:Label runat="server" ID="lblChange" Text='<%# Eval("ComingSoonId") %>' CssClass="hide"></asp:Label>
                                                    </td>
                                                </tr>
                                            </tbody>
                                        </table>
                                    </ItemTemplate>
                                    <Columns>
                                        <telerik:GridTemplateColumn HeaderText="Standard No." SortExpression="StandardNumber"
                                            UniqueName="StandardNumber" DataField="StandardNumber" ItemStyle-CssClass="ColorClass">
                                     
                                        <telerik:GridTemplateColumn HeaderText="ComingSoonId" SortExpression="ComingSoonId"
                                            UniqueName="ComingSoonId" DataField="ComingSoonId" Display="false" EditFormHeaderTextFormat="">
                                        </telerik:GridTemplateColumn>
                                    </Columns>
                                    <NoRecordsTemplate>
                                        <div>
                                            No records to display</div>
                                    </NoRecordsTemplate>
                                    <EditFormSettings EditFormType="Template">
                                        <FormTemplate>
                                            <div class="modal coming-soon-modal">
                                                <h3 class="brand modal-sub-title">
                                                    Brand: <strong>'<%#strBrandName %>'</strong></h3>
                                                <div class="modal-form">
                                                   
                                                        <asp:TextBox ID="txtCompDate" runat="server" CssClass="datepicker"></asp:TextBox>
                                                        <asp:Button ID="btnUpdate" CssClass="btn" Text='<%# IIf((TypeOf(Container) is GridEditFormInsertItem), "Insert", "Update") %>'
                                                            runat="server" CommandName='<%# IIf((TypeOf(Container) is GridEditFormInsertItem), "PerformInsert", "Update")%>'>
                                                        </asp:Button>&nbsp;
                                                        <asp:Button ID="btnCancel" Text="Cancel" CssClass="cancel" runat="server" CausesValidation="False"
                                                            CommandName="Cancel"></asp:Button>
                                                    </fieldset>
                                                  
                                                </div>
                                            </div>
                                        
                                        </FormTemplate>
                                    </EditFormSettings>
                                    <CommandItemSettings AddNewRecordText="Add new record" AddNewRecordImageUrl="/_layouts/images/HBSImages/add-record-icon.gif"
                                        RefreshText="Refresh" RefreshImageUrl="/_layouts/images/HBSImages/refresh-icon.gif"
                                        ShowRefreshButton="false"></CommandItemSettings>
                                </MasterTableView>
                                <ClientSettings>
                                    <ClientEvents OnRowDblClick="RowDblClick"></ClientEvents>
                                </ClientSettings>
                            </telerik:RadGrid>
                      
M
Top achievements
Rank 1
 answered on 15 Sep 2017
4 answers
401 views
I have this RadGrid
<telerik:RadGrid ID="gvMembers" runat="server"
            AutoGenerateColumns="false"
            OnNeedDataSource="gvMembers_NeedDataSource"
            AllowSorting="true"
            AllowPaging="true"
            PageSize="10"
            AllowAutomaticUpdates="true"
            AllowAutomaticInserts="true"
            AllowAutomaticDeletes="true"
            OnItemCreated="gvMembers_ItemCreated"
            OnItemInserted="gvMembers_ItemInserted"
            OnPreRender="gvMembers_PreRender"
            OnInsertCommand="gvMembers_InsertCommand"
            OnItemDataBound="gvMembers_ItemDataBound"
            OnUpdateCommand="gvMembers_UpdateCommand"
            OnDeleteCommand="gvMembers_DeleteCommand"
 
            >
            <HeaderStyle CssClass="GridHeader" />
            <PagerStyle Mode="NextPrevNumericAndAdvanced" />
            <MasterTableView AutoGenerateColumns="false" DataKeyNames="UserID" CommandItemDisplay="Top" InsertItemPageIndexAction="ShowItemOnCurrentPage">
                <Columns>
                    <telerik:GridEditCommandColumn></telerik:GridEditCommandColumn>
                    <telerik:GridBoundColumn DataField="UserID" HeaderText="UserID" ReadOnly="true" UniqueName="UserID"></telerik:GridBoundColumn>
                    <telerik:GridBoundColumn DataField="FirstName" HeaderText="First Name" SortExpression="FirstName" UniqueName="firstname"></telerik:GridBoundColumn>
                    <telerik:GridBoundColumn DataField="FirstName" HeaderText="Last Name" SortExpression="LastName" UniqueName="lastname"></telerik:GridBoundColumn>
                    <telerik:GridBoundColumn DataField="UserName" HeaderText="User Name" SortExpression="UserName" UniqueName="username"></telerik:GridBoundColumn>
                    <telerik:GridBoundColumn DataField="EmailAddress" HeaderText="Email" SortExpression="EmailAddress" UniqueName="email"></telerik:GridBoundColumn>
 
                    <telerik:GridTemplateColumn UniqueName="TemplateColumn" HeaderText="Role">
                        <ItemTemplate>
                            <asp:Label ID="Label1" runat="server"
                                Text='<%# DataBinder.Eval(Container.DataItem, "Role") %>'>
                            </asp:Label>
                        </ItemTemplate>
                        <EditItemTemplate>
                            <asp:DropDownList ID="ddlRole" runat="server" DataTextField="Role1" DataValueField="RoleID"></asp:DropDownList>
                        </EditItemTemplate>
                    </telerik:GridTemplateColumn>
                    <telerik:GridButtonColumn ConfirmText="Delete this Member?" ConfirmDialogType="RadWindow"
                        ConfirmTitle="Delete" ButtonType="PushButton" Text="Delete" CommandName="Delete" />
                </Columns>
            </MasterTableView>
        </telerik:RadGrid>

 

I am using a stored procedure to to my updates and have this C# code:

protected void gvMembers_UpdateCommand(object sender, GridCommandEventArgs e)
        {
            var editableItem = ((GridEditableItem)e.Item);
            var memberId = (int)editableItem.GetDataKeyValue("UserID");
            int Role = 1;
            CheckBox active = (CheckBox)editableItem["valid"].Controls[0];
            Boolean bactive = Convert.ToBoolean(active);
            string str = active.Text;
            string strFirstName = (editableItem["firstname"].Controls[0] as TextBox).Text;
            string strLastName = (editableItem["lastname"].Controls[0] as TextBox).Text;
            string strUserName = (editableItem["username"].Controls[0] as TextBox).Text;
            string strEmail = (editableItem["firstname"].Controls[0] as TextBox).Text;
 
 
 
            try
                {
                //save chanages to Db
DbContext.AAHomicideLogMembersUpdate(memberId, Role, strFirstName, strLastName, strUserName, strEmail, active);
                }
                catch (System.Exception)
                {
                   string srtt="Dosomething";
                }
            }

 

I get an error message when attempting to convert the checkbox value to a boolean value.

 

How can I accomplish this?

Perry
Top achievements
Rank 1
 answered on 15 Sep 2017
2 answers
174 views
Hi,

I am having Radgrid in a div (div1) and other controls in another div (div2) on toggle (hide/show) based structure.

I want to show the div2 initially. problem is page is rendering after completion of Radgrid databind only.

I want to load the data to Radgrid without taking too long. may be ajaxifying the load.

Is it possible to show the controls in div2 before completing data loading of Radgrid??

Thanking you,

AGM RAJA
Judson
Top achievements
Rank 1
 answered on 15 Sep 2017
3 answers
856 views

I'm using a RadComboBox and would like to get the selected item that was bound to the combobox instead of the selected value, index or text.  I can do that with RadGrid but when I try to do it with a ComboBox the selected item's dataitem is always null.

RadGrid:

Event thisEvent = new Event();                  
thisEvent = (Event)e.Item.DataItem;

 

thisEvent is now the bound record of type Event.

 

RadComboBox:

List<BWGroup> individuals = new List<BWGroup>();
individuals = _bwContext.BWGroups.Where(x => x.IsActive == true).OrderBy(x => x.BWGroupName).ToList();
 IndividualsRadComboBox.DataTextField = "BWGroupName";
IndividualsRadComboBox.DataValueField = "BWGroupID";
IndividualsRadComboBox.DataSource = individuals;
 IndividualsRadComboBox.DataBind();
 
//After event is fired
 BWGroup group = new BWGroup();
 group = IndividualsRadComboBox.SelectedItem.DataItem as BWGroup;

 

SelectedValue and SelectedIndex have the proper values but DataItem is always null so group is always null.

Eyup
Telerik team
 answered on 15 Sep 2017
1 answer
79 views

Hi,

Has the spreadsheet control is fully released or still in beta version?

 

 

Vessy
Telerik team
 answered on 15 Sep 2017
1 answer
90 views

I am trying to hide the filter options of a grid based on the type of the column. I have found numerous examples but NONE seem to work. They work the very first time you click on a filter icon. If you then click on a different type of column you get different options but not the correct ones. They seem to be random based on what order you click on the filter icon. Please help!!

        var oldFilterStyle = "";

        function FilterMenuShowing(sender, eventArgs) {

            var menu = eventArgs.get_menu();
            var items = menu._itemData;

            if (eventArgs.get_column().get_dataType() == "System.String") {
                var i = 0;
                while (i < items.length) {
                    if (items[i].value != "NoFilter" && items[i].value != "IsEmpty" &&
                        items[i].value != "EqualTo" && items[i].value != "NotEqualTo" && 
                        items[i].value != "StartsWith" && items[i].value != "EndsWith" && 
                        items[i].value != "Contains" && items[i].value != "DoesNotContain") {
                        var item = menu._findItemByValue(items[i].value);
                        if (item != null) {
                            if (item._element.style.display != "none") {
                                oldFilterStyle = item._element.style.display;
                                item._element.style.display = "none";
                            }                           
                        }
                    }
                    i++;
                }
            }
            else if (eventArgs.get_column().get_dataType() == "System.Decimal" || eventArgs.get_column().get_dataType() == "System.Int32") {
                var i = 0;
                while (i < items.length) {
                    if (items[i].value != "NoFilter" && items[i].value != "IsEmpty" &&
                        items[i].value != "EqualTo" && items[i].value != "NotEqualTo" && 
                        items[i].value != "GreaterThan" && items[i].value != "LessThan" && 
                        items[i].value != "GreaterThanOrEqualTo" && items[i].value != "LessThanOrEqualTo" && 
                        items[i].value != "Between" && items[i].value != "NotBetween") {
                        var item = menu._findItemByValue(items[i].value);
                        if (item != null) {
                            if (item._element.style.display != "none") {
                                oldFilterStyle = item._element.style.display;
                                item._element.style.display = "none";
                            }
                        }
                    }
                    i++;
                }
            }
            else {
                alert(eventArgs.get_column().get_dataType());
                var i = 0;
                while (i < items.length) {
                    var item = menu._findItemByValue(items[i].value);
                    if (item != null) {
                        if (oldFilterStyle != "" && item._element.style.display == "none")
                            item._element.style.display = oldFilterStyle;
                    }
                    i++;
                }
            }

Attila Antal
Telerik team
 answered on 15 Sep 2017
1 answer
1.5K+ views
I have this RadGrid
<telerik:RadGrid ID="gvMembers" runat="server"
            AutoGenerateColumns="false"
            OnNeedDataSource="gvMembers_NeedDataSource"
            AllowSorting="true"
            AllowPaging="true"
            PageSize="10"
            AllowAutomaticUpdates="true"
            AllowAutomaticInserts="true"
            AllowAutomaticDeletes="true"
            OnItemCreated="gvMembers_ItemCreated"
            OnItemInserted="gvMembers_ItemInserted"
            OnPreRender="gvMembers_PreRender"
            OnInsertCommand="gvMembers_InsertCommand"
            OnItemDataBound="gvMembers_ItemDataBound"
            OnUpdateCommand="gvMembers_UpdateCommand"
            OnDeleteCommand="gvMembers_DeleteCommand"
 
            >
            <HeaderStyle CssClass="GridHeader" />
            <PagerStyle Mode="NextPrevNumericAndAdvanced" />
            <MasterTableView AutoGenerateColumns="false" DataKeyNames="UserID" CommandItemDisplay="Top" InsertItemPageIndexAction="ShowItemOnCurrentPage">
                <Columns>
                    <telerik:GridEditCommandColumn></telerik:GridEditCommandColumn>
                    <telerik:GridBoundColumn DataField="UserID" HeaderText="UserID" ReadOnly="true" UniqueName="UserID"></telerik:GridBoundColumn>
                    <telerik:GridBoundColumn DataField="FirstName" HeaderText="First Name" SortExpression="FirstName" UniqueName="firstname"></telerik:GridBoundColumn>
                    <telerik:GridBoundColumn DataField="FirstName" HeaderText="Last Name" SortExpression="LastName" UniqueName="lastname"></telerik:GridBoundColumn>
                    <telerik:GridBoundColumn DataField="UserName" HeaderText="User Name" SortExpression="UserName" UniqueName="username"></telerik:GridBoundColumn>
                    <telerik:GridBoundColumn DataField="EmailAddress" HeaderText="Email" SortExpression="EmailAddress" UniqueName="email"></telerik:GridBoundColumn>
 
                    <telerik:GridTemplateColumn UniqueName="TemplateColumn" HeaderText="Role">
                        <ItemTemplate>
                            <asp:Label ID="Label1" runat="server"
                                Text='<%# DataBinder.Eval(Container.DataItem, "Role") %>'>
                            </asp:Label>
                        </ItemTemplate>
                        <EditItemTemplate>
                            <asp:DropDownList ID="ddlRole" runat="server" DataTextField="Role1" DataValueField="RoleID"></asp:DropDownList>
                        </EditItemTemplate>
                    </telerik:GridTemplateColumn>
                    <telerik:GridButtonColumn ConfirmText="Delete this Member?" ConfirmDialogType="RadWindow"
                        ConfirmTitle="Delete" ButtonType="PushButton" Text="Delete" CommandName="Delete" />
                </Columns>
            </MasterTableView>
        </telerik:RadGrid>

 

I am using  astored procedure to handle my updates this is My C# code

protected void gvMembers_UpdateCommand(object sender, GridCommandEventArgs e)
        {
            var editableItem = ((GridEditableItem)e.Item);
            var memberId = (int)editableItem.GetDataKeyValue("UserID");
            int Role = 1;
            CheckBox active = (CheckBox)editableItem["valid"].Controls[0];
            Boolean bactive = Convert.ToBoolean(active);
            string str = active.Text;
            string strFirstName = (editableItem["firstname"].Controls[0] as TextBox).Text;
            string strLastName = (editableItem["lastname"].Controls[0] as TextBox).Text;
            string strUserName = (editableItem["username"].Controls[0] as TextBox).Text;
            string strEmail = (editableItem["firstname"].Controls[0] as TextBox).Text;
 
 
 
            try
                {
                //save chanages to Db
DbContext.AAHomicideLogMembersUpdate(memberId, Role, strFirstName, strLastName, strUserName, strEmail, active);
                }
                catch (System.Exception)
                {
                   string srtt="Dosomething";
                }
            }

 

I am getting an error message on the conversion attempt what am I doing wrong here and what is the proper way to get those values from the checkbox

Perry
Top achievements
Rank 1
 answered on 14 Sep 2017
0 answers
171 views

I have this RAD Grid

 

<telerik:RadGrid ID="gvMembers" runat="server"
            AutoGenerateColumns="false"
            OnNeedDataSource="gvMembers_NeedDataSource"
            AllowSorting="true"
            AllowPaging="true"
            PageSize="10"
            AllowAutomaticUpdates="true"
            AllowAutomaticInserts="true"
            AllowAutomaticDeletes="true"
            OnItemCreated="gvMembers_ItemCreated"
            OnItemInserted="gvMembers_ItemInserted"
            OnPreRender="gvMembers_PreRender"
            OnInsertCommand="gvMembers_InsertCommand"
            OnItemDataBound="gvMembers_ItemDataBound"
            OnUpdateCommand="gvMembers_UpdateCommand"
            OnDeleteCommand="gvMembers_DeleteCommand"
 
            >
            <HeaderStyle CssClass="GridHeader" />
            <PagerStyle Mode="NextPrevNumericAndAdvanced" />
            <MasterTableView AutoGenerateColumns="false" DataKeyNames="UserID" CommandItemDisplay="Top" InsertItemPageIndexAction="ShowItemOnCurrentPage">
                <Columns>
                    <telerik:GridEditCommandColumn></telerik:GridEditCommandColumn>
                    <telerik:GridBoundColumn DataField="UserID" HeaderText="UserID" ReadOnly="true" UniqueName="UserID"></telerik:GridBoundColumn>
                    <telerik:GridBoundColumn DataField="FirstName" HeaderText="First Name" SortExpression="FirstName" UniqueName="firstname"></telerik:GridBoundColumn>
                    <telerik:GridBoundColumn DataField="FirstName" HeaderText="Last Name" SortExpression="LastName" UniqueName="lastname"></telerik:GridBoundColumn>
                    <telerik:GridBoundColumn DataField="UserName" HeaderText="User Name" SortExpression="UserName" UniqueName="username"></telerik:GridBoundColumn>
                    <telerik:GridBoundColumn DataField="EmailAddress" HeaderText="Email" SortExpression="EmailAddress" UniqueName="email"></telerik:GridBoundColumn>
 
                    <telerik:GridTemplateColumn UniqueName="TemplateColumn" HeaderText="Role">
                        <ItemTemplate>
                            <asp:Label ID="Label1" runat="server"
                                Text='<%# DataBinder.Eval(Container.DataItem, "Role") %>'>
                            </asp:Label>
                        </ItemTemplate>
                        <EditItemTemplate>
                            <asp:DropDownList ID="ddlRole" runat="server" DataTextField="Role1" DataValueField="RoleID"></asp:DropDownList>
                        </EditItemTemplate>
                    </telerik:GridTemplateColumn>
                    <telerik:GridButtonColumn ConfirmText="Delete this Member?" ConfirmDialogType="RadWindow"
                        ConfirmTitle="Delete" ButtonType="PushButton" Text="Delete" CommandName="Delete" />
                </Columns>
            </MasterTableView>
        </telerik:RadGrid>

 

I need to bind the asp dropdown list for my Update and Insert.

I tried this C# code:

protected void gvMembers_ItemDataBound(object sender, GridItemEventArgs e)
        {
 
            DropDownList ddl = (DropDownList)e.Item.FindControl("ddlRole");
            ddl.SelectedValue = (string)DataBinder.Eval(e.Item.DataItem, "Role1").ToString();
 
        }

 

But it gets an error message {"Object reference not set to an instance of an object."} when I try to view the web page.

 

What is the proper procedure to accomplish this?

Perry
Top achievements
Rank 1
 asked on 14 Sep 2017
0 answers
169 views

I am using RadGrid Control.

I have created the columns for RadGrid dynamically with two textbox, one dropdown and 1 date picker.

I have created controls dynamically using GridTemplateColumn by assigning UniqueName for ItemTemplate, getting ID for each control(TextBox, Dropdown, DatePicker).

User Inputs the value in dynamically created grid.

While clicking on Save button, the value from each row of the grid should be retrieved. But I am not able to retrieve the values since I created the grid with controls dynamically.

Attached the sample for reference.

 

 

 

 

 

 

Govindon
Top achievements
Rank 1
 asked on 14 Sep 2017
1 answer
193 views

Requirements

Telerik Product and Version


Supported Browsers and Platforms


Components/Widgets used (JS frameworks, etc.)



PROJECT DESCRIPTION 
Hi, I am new to the Telerik and i want to integrate RadGrid control in to ASP.NET. after i download and installed "TelerikUIForAspNetAjaxSetup_a_2017_3_0913_1.exe", I couldn't find Live Demo folder in my installed path. Kindly suggest me how to integrate this telerik grid to my asp.net application?
Vessy
Telerik team
 answered on 14 Sep 2017
Narrow your results
Selected tags
Tags
+? more
Top users last month
Rob
Top achievements
Rank 3
Iron
Iron
Iron
Atul
Top achievements
Rank 1
Iron
Iron
Iron
Alexander
Top achievements
Rank 1
Veteran
Iron
Serkan
Top achievements
Rank 1
Iron
Shawn
Top achievements
Rank 1
Iron
Iron
Want to show your ninja superpower to fellow developers?
Top users last month
Rob
Top achievements
Rank 3
Iron
Iron
Iron
Atul
Top achievements
Rank 1
Iron
Iron
Iron
Alexander
Top achievements
Rank 1
Veteran
Iron
Serkan
Top achievements
Rank 1
Iron
Shawn
Top achievements
Rank 1
Iron
Iron
Want to show your ninja superpower to fellow developers?
Want to show your ninja superpower to fellow developers?