Telerik Forums
UI for ASP.NET AJAX Forum
2 answers
407 views

Hello,

I'm trying to export the contents of a RadGrid that has a child RadGrid in its NestedViewTemplate to Excel format.  I've found some examples on how to export the contents of a RadGrid to Excel, however, those examples only seem to export the parent radgrid's contents and not the child content.  Is there a way to do this?  An example would be very much appreciated.  Thanks.

Here's my code for the RadGrid:

<telerik:RadButton ID="btnExportToExcel" runat="server" Text="Export to Excel" OnClick="btnExportToExcel_Click"></telerik:RadButton>
 
<telerik:RadGrid ID="grdViewInventory" runat="server"
    AutoGenerateColumns="False"
    AllowPaging="false"
    AllowSorting="false"
    OnColumnCreated="grdViewInventory_ColumnCreated"
    OnNeedDataSource="grdViewInventory_NeedDataSource"
    Skin="Metro"
    ShowHeader="false"
    ShowFooter="false"
    CssClass="IV_MasterGrid" CellPadding="0" CellSpacing="0">
    <MasterTableView HierarchyDefaultExpanded="true" HierarchyLoadMode="ServerOnDemand" EnableNoRecordsTemplate="true" ShowHeadersWhenNoRecords="true" DataKeyNames="DataKey" RetainExpandStateOnRebind="true">
        <NoRecordsTemplate>
            <div class="div_NoRecordsTemplate">No Components Found.</div>
        </NoRecordsTemplate>
        <NestedViewSettings>
            <ParentTableRelation>
                <telerik:GridRelationFields DetailKeyField="DataKey" MasterKeyField="DataKey" />
            </ParentTableRelation>
        </NestedViewSettings>
        <NestedViewTemplate>
            <telerik:RadGrid ID="rgNestedViewInventory" runat="server" AutoGenerateColumns="false" Width="99.5%" CssClass="IV_NestedGrid" OnNeedDataSource="rgNestedViewInventory_NeedDataSource">
                <MasterTableView EnableNoRecordsTemplate="true" ShowHeadersWhenNoRecords="true" TableLayout="Fixed">
                    <Columns>
                        <telerik:GridBoundColumn DataField="FilterType" HeaderText="Filter Type" ReadOnly="True" UniqueName="FilterType">
                            <HeaderStyle CssClass="IV_FT_Nested" Wrap="false" />
                            <ItemStyle CssClass="IV_FT_Nested" Wrap="false" />
                        </telerik:GridBoundColumn>
                        <telerik:GridBoundColumn DataField="ModelNumber" HeaderText="Model Number" ReadOnly="True" UniqueName="ModelNumber">
                            <HeaderStyle CssClass="IV_MN_Nested" Wrap="false" />
                            <ItemStyle CssClass="IV_MN_Nested" Wrap="false" />
                        </telerik:GridBoundColumn>
                        <telerik:GridBoundColumn DataField="PartNumber" HeaderText="Part Number" ReadOnly="True" UniqueName="PartNumber">
                            <HeaderStyle CssClass="IV_PN_Nested" Wrap="false" />
                            <ItemStyle CssClass="IV_PN_Nested" Wrap="false" />
                        </telerik:GridBoundColumn>
                        <telerik:GridBoundColumn DataField="FilterDimension" HeaderText="Filter Size" ReadOnly="True" UniqueName="FilterDimension">
                            <HeaderStyle CssClass="IV_FDE_Nested" Wrap="false" />
                            <ItemStyle CssClass="IV_FDE_Nested" Wrap="false" />
                        </telerik:GridBoundColumn>
                        <telerik:GridBoundColumn DataField="Quantity" HeaderText="Quantity" ReadOnly="True" UniqueName="FilterManufacturer">
                            <HeaderStyle CssClass="IV_QTY_Nested" Wrap="false" />
                            <ItemStyle CssClass="IV_QTY_Nested" Wrap="false" />
                        </telerik:GridBoundColumn>
                    </Columns>
                </MasterTableView>
            </telerik:RadGrid>
        </NestedViewTemplate>
        <Columns>
            <telerik:GridTemplateColumn UniqueName="GroupHeaderColumn" Resizable="false" SortExpression="PropertyNumber">
                <ItemTemplate>
                    <asp:Label runat="server" ID="Label1" Text='<%# Eval("Building") %>' />
                    <asp:Label runat="server" ID="Label2" Text='<%# " - (" + Eval("PropertyNumber") + ") - " %>' />
                    <asp:Label runat="server" ID="Label4" Text='<%# Eval("UnitTag") %>' />
                    <asp:Label runat="server" ID="Label3" Text='<%# " - " + Eval("AHUType") %>' />
                    <asp:Label runat="server" ID="Label5" Text='<%# " - " + Eval("Configuration") %>' />
                </ItemTemplate>
                <ItemStyle CssClass="IV_MasterGrid_GroupHeader" />
            </telerik:GridTemplateColumn>
        </Columns>
    </MasterTableView>
</telerik:RadGrid>

 

Here's my C# code-behind:

protected void grdViewInventory_NeedDataSource(object sender, GridNeedDataSourceEventArgs e)
{
    siteID = ApplicationDTO.GetSiteID();
    grdViewInventory.DataSource = BLL.GetInventoryHeader(siteID).GroupBy(x => x.DataKey).Select(y => y.First()).OrderBy(z => z.Building);
}
 
protected void grdViewInventory_ColumnCreated(object sender, GridColumnCreatedEventArgs e)
{
    //Hides the expand/collapse column
    if (e.Column is GridExpandColumn)
    {
        e.Column.Visible = false;
    }
}
 
protected void btnExportToExcel_Click(object sender, EventArgs e)
{
    grdViewInventory.ExportSettings.OpenInNewWindow = true;
    grdViewInventory.ExportSettings.ExportOnlyData = true;
    grdViewInventory.ExportSettings.IgnorePaging = true;
    grdViewInventory.ExportSettings.Excel.Format = GridExcelExportFormat.Xlsx;
    grdViewInventory.MasterTableView.Items[0].Expanded = true;
    RadGrid rgNestedViewInventory = (RadGrid)grdViewInventory.MasterTableView.Items[0].ChildItem.FindControl("rgNestedViewInventory");
    rgNestedViewInventory.Rebind();
    grdViewInventory.MasterTableView.HierarchyDefaultExpanded = true;
    grdViewInventory.MasterTableView.ExportToExcel();
}
 
protected void rgNestedViewInventory_NeedDataSource(object sender, GridNeedDataSourceEventArgs e)
{
    RadGrid rgChild = (RadGrid)sender;
    GridNestedViewItem nesteditem = (GridNestedViewItem)rgChild.NamingContainer;
    string dataKey = Convert.ToString(nesteditem.ParentItem.GetDataKeyValue("DataKey"));
    (sender as RadGrid).DataSource = BLL.GetInventory(siteID).Where(x => x.DataKey == dataKey).OrderBy(y => y.PropertyNumber);
}

Shawn
Top achievements
Rank 1
 answered on 28 Sep 2015
3 answers
137 views

I've been spoiled by GridView!

I have need for something simpler, just basic 2-column lists, no paging, no complex templating, just a list with scrolling as needed.

The attached graphic shows an approximation of what I need. I manipulated height and width settings and was partially successful in creating an outline, but as you can see, instead of scrollbars I get overflow.

 I am thinking that maybe I need to embed the ListView control inside a panel or other object to force scrollbars, but then presume the headings themselves will also scroll out of view.

 Question 1) is there a better RAD AJAX control?

 Question 2) why to the height and width settings have very little effect on this control, when they are spectacular with GridView? 

 

      <telerik:RadListView ID="RadListView1" runat="server" DataSourceID="publication_date_summary" BorderColor="#3399FF" BorderStyle="Solid" BorderWidth="2px" Height="200px" Skin="Metro" Width="300px"><LayoutTemplate>
        <div class="RadListView RadListView_Metro" style="max-width:140px; max-height:300px;">
            <table cellspacing="0"">
                <thead>
                    <tr class="rlvHeader">
                        <th style="width:100px;">Decade</th>
                        <th style="width:40px;">Songs</th>
                    </tr>
                </thead>
                <tbody>
                    <tr id="itemPlaceholder" runat="server">
                    </tr>
                </tbody>
            </table>
        </div>
</LayoutTemplate>
        <ItemTemplate>
            <tr class="rlvI">
                <td>
<%--                    <asp:Label ID="NameLabel" runat="server" Text='<%# Eval("Name") %>' />--%>
                                   <a href='selector.aspx?class_id=5&filter=decade&decade=<%# Eval("pub_date")%>' target="_parent"><%# Eval("pub_date") %></a>
                </td>
                <td>
                    <asp:Label ID="CountOfIDLabel" runat="server" Text='<%# Eval("songs") %>' />
                </td>
            </tr>
        </ItemTemplate>
        <EmptyDataTemplate>
            <div class="RadListView RadListView_MetroTouch">
                <div class="rlvEmpty">
                    There are no items to be displayed.</div>
            </div>
        </EmptyDataTemplate>
 
    </telerik:RadListView>

 

 


 
Maria Ilieva
Telerik team
 answered on 28 Sep 2015
1 answer
184 views

Inside the ItemsRequested Event of a RadComboBox we are using the value from a RadTextBox as part of the search criteria to load the RadComboxBox.  When the code runs the text entered in the RadTextBox cannot be seen in the ItemsRequested event.

 It looks like some JavaScript is need to record the value of the textbox when it is first entered on the client side so that it can be accessed on the server side.  I was wondering what is the best way to do that.  Should I put the value into a hidden field or some other variable?

 

Thanks

Kostadin
Telerik team
 answered on 28 Sep 2015
2 answers
64 views

First of all, any help is greatly appreciated. 

 Currently we are having issues with radwindow performance.  It is taking about 5 to 10 seconds in IE browser to open a radwindow.  It is rather quick in chrome.  Everything is bound on client side with an ajax manager to bind some telerik grids and occasionally custom page method post backs.  I was wondering if there was a setting for rad windows to open up faster.  Right at dlg.show() and dlg.center() is where it takes about 5 to 6 seconds.  Why is this?

 

showMaterialsEditorDialog: function (data) {
       var control = this;
 
       this._selectedProject = data;
       this._projectStatusId = data.ProjectStatusId;
        
       var dlg = document.getElementById(this._windowId).control;
       var width = $telerik.$(window).width() * 90 / 100;
       var height = $telerik.$(window).height() * 90 / 100;
       dlg.set_height(height);
       dlg.set_width(width);
     
 
       var header = data.CustomerName + ' (' + data.ProjectName + ' - ' + data.ProjectId + ')';
       var subHeader = data.CustomerName + ' (' + data.CustomerNo + ') - ' + data.BranchName + ' - ' + data.BusinessUnitDescription + ' (' + data.BusinessUnitCode + ')';
        
       var header = document.getElementsByClassName('addNewProjectHeader')
       for (var i = 0; i < header.length; i++) {
           header[i].innerHTML = header;
       }
       var subHeaderElement = document.getElementsByClassName('addNewProjectHeader')
       for (var i = 0; i < subHeaderElement.length; i++) {
           subHeaderElement[i].innerHTML = subHeader;
       }
      // $('.addNewProjectSubHeader').html(subHeader);
       dlg.show();
       dlg.center();
       var pickListLink = $(dlg.get_contentElement().querySelector('.pickListButton'));//.find('.pickListButton');
       pickListLink.off().on('click', function () {
           if (control._unplannedMaterials.length == 0 && control._plannedMaterials.length == 0) {
               radalert('This project has no materials assigned.');
           }
           else {
               __doPostBack('pickList', data.ProjectStatusId);
           }
       });
      
       var restockListLink = $(dlg.get_contentElement().querySelector('.restockListButton'));//.find('.pickListButton');
       restockListLink.off().on('click', function () {
           if (control._unplannedMaterials.length == 0 && control._plannedMaterials.length == 0) {
               radalert('This project has no materials assigned.');
           }
           else {
               __doPostBack('restockList', data.ProjectStatusId);
           }
       });
       debugger;
       this._rebindProject();
   },

Here is the asp.net information:

<telerik:RadWindow ID="MaterialsEditorWindow" class="windowMaterials" ShowContentDuringLoad="false"  AutoSize="false" 
             DestroyOnClose="true" VisibleOnPageLoad="false" Behaviors="Close" Height="800px" Modal="true"
         Width="1824" runat="server">
        <ContentTemplate >
            <telerik:RadAjaxLoadingPanel  ID="DialogLoadingPanel" Skin="Default" runat="server"></telerik:RadAjaxLoadingPanel>
            <div class="addShiftHeaderContainer">
                <div class="addNewProjectHeader"></div>
                <div class="addNewProjectSubHeader"></div>
            </div>
 
            <div class="buttonWrapper mtop10px">
                <button type="button" style="display: none;" class="imgButton projectSaveButton inventoryButton">
                    <em class="imgHolder"></em>Save Inventory</button>
                <button type="button" class="pickListButton inventoryButton">Pick List</button>
                <button type="button" class="restockListButton inventoryButton">Restock List</button>
                <button type="button" class="projectCancelButton inventoryButton">
                    Cancel</button>
                <button type="button" class="projectHasBeenFilledButton inventoryButton" style="float:right; display:none;" disabled="disabled">
                    Send To Filled</button>
                <button type="button" class="projectUnfillButton inventoryButton" style="float:right !important; display:none;" disabled="disabled">
                    Send To Unfill</button>
                <button type="button" class="projectRestockButton inventoryButton" style="float:right !important; display:none;" disabled="disabled">
                    Send To Restock</button>
            </div>
 
            <div class="inventoryContentHeader">Materials</div>
 
            <telerik:RadCodeBlock  runat="server">
                <a href="#" onclick="$find('<%= this.InventoryContainer.ClientID %>').expandAllPlanned(); return false;">Expand All</a>
                   
                <a href="#" onclick="$find('<%= this.InventoryContainer.ClientID %>').collapseAllPlanned(); return false;">Collapse All</a>
                   
                <a href="#" class="markAllComplete" style="display: none;" onclick="$find('<%= this.InventoryContainer.ClientID %>').markAllComplete(); return false;">Mark All Completed</a>
            </telerik:RadCodeBlock>
 
            <table class="equipPersonnelChangeInfo" border="0">
                <tr>
                    <td><b>Last Equipment Change:</b></td>
                    <td><span id="spnLastEquipChange" class="lastEquipChange" runat="server"></span></td>
                </tr>
                <tr>
                    <td><b>Last Personnel Change:</b></td>
                    <td><span id="spnLastPersonnelChange" class="lastPersonnelChange" runat="server"></span></td>
                </tr>
                <tr>
                    <td><b>Last Miscellaneous Change:</b></td>
                    <td><span id="spnLastMiscellaneousChange" class="lastMiscellaneousChange" runat="server"></span></td>
                </tr>
 
            </table>
 
            <asp:HiddenField ID="hdnPlannedMaterialsData" runat="server" />
            <asp:HiddenField ID="hdnAjaxRequestField" ClientIDMode="Static" runat="server" />
            <telerik:RadGrid ID="MaterialsGrid" EnableViewState="false" CssClass="plannedGrid"  runat="server" AutoGenerateColumns="false"
                AllowPaging="false" Skin="Default">
                <MasterTableView HierarchyLoadMode="Client" runat="server" NoDetailRecordsText="No actual materials have been added for this planned item.">
                    <Columns>
                        <telerik:GridTemplateColumn ItemStyle-CssClass="smallColumn">
                            <ItemTemplate>
                                <a href="javascript: void(0);" class="addActualButton" style="display: none;" id="hypAdd" runat="server">Add</a>
                            </ItemTemplate>
                            <ClientItemTemplate>
                                <a href="javascript: void(0);" class="addActualButton" style="display: none;" id="hypAdd" runat="server">Add</a>
                            </ClientItemTemplate>
                        </telerik:GridTemplateColumn>
                        <telerik:GridBoundColumn DataField="ItemNo" HeaderText="Item Number"></telerik:GridBoundColumn>
                        <telerik:GridBoundColumn DataField="MaterialFullName" HeaderText="Material Name"></telerik:GridBoundColumn>
                        <telerik:GridBoundColumn DataField="DesiredQuantity" HeaderText="Desired Quantity"></telerik:GridBoundColumn>
                        <telerik:GridTemplateColumn HeaderText="Actual Quantity">
                            <ClientItemTemplate>
                                <span class="actualQuantity"></span>
                            </ClientItemTemplate>
                        </telerik:GridTemplateColumn>
                        <telerik:GridBoundColumn DataField="QuantityOnSite" HeaderText="Quantity On-Site"></telerik:GridBoundColumn>
                    </Columns>
                    <NestedViewTemplate>
                        <input type="hidden" name="parentIndex" />
                        <telerik:RadGrid ID="AssignedActualMaterialsGrid"  AllowPaging="false"  EnableViewState="false"  CssClass="plannedActualGrid" runat="server" Width="90%" 
                            OnItemDataBound="MaterialsGrid_ItemDataBound" AutoGenerateColumns="false" Skin="Windows7">
                            <MasterTableView HierarchyDefaultExpanded="true" AllowPaging="false" EnableColumnsViewState="false" HierarchyLoadMode="Client">
                                <Columns>
                                    <telerik:GridTemplateColumn ItemStyle-CssClass="smallColumn">
                                        <ItemTemplate>
                                            <a href="#" class="removeActualButton" style="display: none;">Remove</a>
                                        </ItemTemplate>
                                        <ClientItemTemplate>
                                            <a href="javascript: void(0);" class="removeActualButton" style="display: none;">Remove</a>
                                        </ClientItemTemplate>
                                    </telerik:GridTemplateColumn>
                                    <telerik:GridBoundColumn DataField="OriginialUOMId" Display="false"></telerik:GridBoundColumn>
                                    <telerik:GridBoundColumn DataField="OriginialBusinessUnitId" Display="false"></telerik:GridBoundColumn>
                                    <telerik:GridBoundColumn DataField="OriginialBusinessUnitCode" Display="false"></telerik:GridBoundColumn>
                                    <telerik:GridBoundColumn DataField="ItemNo" ItemStyle-CssClass="mediumColumn" HeaderText="Item Number"></telerik:GridBoundColumn>
                                    <telerik:GridBoundColumn DataField="FullName" HeaderText="Description"></telerik:GridBoundColumn>
                                    <telerik:GridTemplateColumn ItemStyle-Width="100"  HeaderText="Unit of Measure">
                                        <ClientItemTemplate>
                                            <select class="uomDropdown" style="width: 50px;" disabled="disabled"></select>
                                        </ClientItemTemplate>
                                    </telerik:GridTemplateColumn>
                                    <telerik:GridTemplateColumn HeaderText="Business Unit">
                                        <ClientItemTemplate>
                                            <select class="buDropdown" disabled="disabled"></select>
                                        </ClientItemTemplate>
                                    </telerik:GridTemplateColumn>
                                    <telerik:GridTemplateColumn HeaderStyle-CssClass="binLocationDropDownHeader" HeaderText="Bins/Locations">
                                        <ClientItemTemplate>
                                            <select class="buBinLocationDropdown" disabled="disabled"></select>
                                        </ClientItemTemplate>
                                    </telerik:GridTemplateColumn>
                                    <telerik:GridTemplateColumn ItemStyle-CssClass="smallColumn" HeaderText="Quantity">
                                        <ItemTemplate>
                                            <asp:TextBox ID="Qty" disabled="disabled" Columns="3" MaxLength="6" onkeypress="return isNumericKey(event);" CssClass="qty" runat="server" />
                                        </ItemTemplate>
                                    </telerik:GridTemplateColumn>
                                   <telerik:GridTemplateColumn ItemStyle-CssClass="smallColumn qtyReturnedItem" HeaderStyle-CssClass="qtyReturnedHeader" HeaderText="Quantity Returned">
                                        <ItemTemplate>
                                            <asp:TextBox ID="QtyReturned" disabled="disabled" Columns="3" MaxLength="6" Text="0" onkeypress="return isNumericKey(event);" CssClass="qtyReturned" runat="server" />
                                        </ItemTemplate>
                                    </telerik:GridTemplateColumn>
                                    <telerik:GridTemplateColumn HeaderText="Complete?">
                                        <ItemTemplate>
                                            <input type="checkbox" id="chkComplete" disabled="disabled" runat="server" />
                                        </ItemTemplate>
                                    </telerik:GridTemplateColumn>
                                     <telerik:GridTemplateColumn HeaderText="Split Item" ItemStyle-CssClass="splitItemGrid" HeaderStyle-CssClass="splitItemHeader">
                                         <ItemTemplate>
                                            <a href="#" class="splitItem" style="display: none;">Split Item</a>
                                        </ItemTemplate>
                                    </telerik:GridTemplateColumn>
                                </Columns>
                            </MasterTableView>
                            <ClientSettings ClientEvents-OnCommand="function(){}" AllowExpandCollapse="true">
                                <DataBinding ShowEmptyRowsOnLoad="false"></DataBinding>
                            </ClientSettings>
                        </telerik:RadGrid>
                    </NestedViewTemplate>
                </MasterTableView>
                <ClientSettings ClientEvents-OnCommand="function(){}" EnableAlternatingItems="false">
                    <DataBinding ShowEmptyRowsOnLoad="false"></DataBinding>
                    <Selecting AllowRowSelect="true" />
                </ClientSettings>
            </telerik:RadGrid>
 
            <div id="PlannedMaterialsPickerContainer" class="materialPickerContainer plannedMaterialsPickerContainer" runat="server">
                <uc1:ActualMaterialPicker ID="PlannedMaterialsMaterialPicker" ReturnUnplannedMaterials="false" runat="server" />
            </div>
 
            <div id="NewMaterialRequest" class="mtop10px" runat="server">
                <div class="inventoryContentHeader" style="clear: both;">New Material Request</div>
                <telerik:RadGrid ID="NewMaterialRequestGrid" PageSize="100" EnableViewState="false"  runat="server" AutoGenerateColumns="false">
                    <MasterTableView AllowPaging="true" runat="server">
                        <Columns>
                            <telerik:GridTemplateColumn ItemStyle-CssClass="smallColumn">
                                <ItemTemplate>
                                    <a href="#" class="removePlanButton" style="display: none;">Remove</a>
                                </ItemTemplate>
                                <ClientItemTemplate>
                                    <a href="javascript: void(0);" class="removePlanButton" style="display: none;">Remove</a>
                                </ClientItemTemplate>
                            </telerik:GridTemplateColumn>
                            <telerik:GridBoundColumn DataField="TaskItemPlanMiscName" HeaderText="New Material Request"></telerik:GridBoundColumn>
                            <telerik:GridTemplateColumn DataField="Quantity" HeaderText="Quantity">
                                <ItemTemplate>
                                    <asp:TextBox ID="txtQty" disabled="disabled"  onkeypress="return isNumericKey(event);" Columns="3" CssClass="qtyNewRequest" runat="server" />
                                </ItemTemplate>
                            </telerik:GridTemplateColumn>
                            <telerik:GridTemplateColumn HeaderText="Comments" HeaderStyle-Width="300">
                                <ClientItemTemplate>
                                    <input Type="Text" ID="txtNotes" disabled="disabled" class="notesMaterialRequest" style="Width: 300px;"  maxlength="200" ></input>
                                </ClientItemTemplate>
                            </telerik:GridTemplateColumn>
                             
                            <telerik:GridTemplateColumn HeaderText="Complete?">
                                <ItemTemplate>
                                    <input type="checkbox" id="chkComplete" disabled="disabled"  runat="server" />
                                </ItemTemplate>
                            </telerik:GridTemplateColumn>
                        </Columns>
                    </MasterTableView>
                    <ClientSettings ClientEvents-OnCommand="function(){}">
                        <DataBinding ShowEmptyRowsOnLoad="false"></DataBinding>
                    </ClientSettings>
                </telerik:RadGrid>
            </div>
 
            <div id="AddtlMaterialsContainer" class="mtop10px" runat="server">
                <div class="inventoryContentHeader" style="clear: both;">Additional Materials</div>
                <telerik:RadGrid ID="AdditionalMaterialsGrid" PageSize="999"  EnableViewState="false"  runat="server" AutoGenerateColumns="false">
                    <MasterTableView runat="server" AllowPaging="true"  HierarchyLoadMode="Client" NoDetailRecordsText="No actual materials have been added for this planned item.">
                        <Columns>
                            <telerik:GridTemplateColumn>
                                <ItemTemplate>
                                    <a href="javascript: void(0);" class="removeActualButton" style="display: none;">Remove</a>
                                </ItemTemplate>
                                <ClientItemTemplate>
                                    <a href="javascript: void(0);" class="removeActualButton" style="display: none;">Remove</a>
                                </ClientItemTemplate>
                            </telerik:GridTemplateColumn>
                            <telerik:GridBoundColumn DataField="MaterialId" Display="false"></telerik:GridBoundColumn>
                            <telerik:GridBoundColumn DataField="OriginialUOMId" Display="false"></telerik:GridBoundColumn>
                            <telerik:GridBoundColumn DataField="OriginialBusinessUnitId" Display="false"></telerik:GridBoundColumn>
                            <telerik:GridBoundColumn DataField="OriginialBusinessUnitCode" Display="false"></telerik:GridBoundColumn>
 
                            <telerik:GridBoundColumn DataField="ItemNo" HeaderText="Item Number"></telerik:GridBoundColumn>
                            <telerik:GridBoundColumn DataField="FullName" HeaderText="Description"></telerik:GridBoundColumn>
                            <telerik:GridTemplateColumn HeaderText="Unit of Measure">
                                <ClientItemTemplate>
                                    <select class="uomDropdown" disabled="disabled"></select>
                                </ClientItemTemplate>
                            </telerik:GridTemplateColumn>
                            <telerik:GridTemplateColumn HeaderText="Business Unit">
                                <ClientItemTemplate>
                                    <select class="buDropdown" disabled="disabled"></select>
                                </ClientItemTemplate>
                            </telerik:GridTemplateColumn>
                            <telerik:GridTemplateColumn HeaderStyle-CssClass="binLocationDropDownHeader" HeaderText="Bins/Locations">
                                        <ClientItemTemplate>
                                            <select class="buBinLocationDropdown" disabled="disabled"></select>
                                        </ClientItemTemplate>
                                    </telerik:GridTemplateColumn>
                            <telerik:GridTemplateColumn HeaderText="Quantity">
                                <ClientItemTemplate>
                                    <input type="text" id="txtQty" disabled="disabled" onkeypress="return isNumericKey(event);" maxlength="6" style="width: 40px" class="qty"  runat="server" />
                                    <%--<asp:TextBox ID="txtQty" disabled="disabled" onkeypress="return isNumericKey(event);" Columns="3" CssClass="qty"  />--%>
                                </ClientItemTemplate>
                            </telerik:GridTemplateColumn>
                            <telerik:GridTemplateColumn ItemStyle-CssClass="smallColumn qtyReturnedItem" HeaderStyle-CssClass="qtyReturnedHeader" HeaderText="Quantity Returned">
                                        <ItemTemplate>
                                            <asp:TextBox ID="QtyReturned" disabled="disabled" Columns="3" MaxLength="6" Text="0" onkeypress="return isNumericKey(event);" CssClass="qtyReturned" runat="server" />
                                        </ItemTemplate>
                                    </telerik:GridTemplateColumn>
                             
                            <telerik:GridTemplateColumn HeaderText="Complete?" Display="true">
                                <ClientItemTemplate>
                                    <input type="checkbox" id="chkComplete" disabled="disabled" runat="server" />
                                </ClientItemTemplate>
                            </telerik:GridTemplateColumn>
                            <telerik:GridTemplateColumn HeaderText="Split Item" ItemStyle-CssClass="splitItemGrid" HeaderStyle-CssClass="splitItemHeader">
                                         <ItemTemplate>
                                            <a href="#" class="splitItem" style="display: none;">Split Item</a>
                                        </ItemTemplate>
                                         <ClientItemTemplate>
                                            <a href="javascript: void(0);" class="splitItem" style="display: none;">Split Item</a>
                                        </ClientItemTemplate>
                                        <%--<ClientItemTemplate>
                                            <button class="splitItem" onclick="return false"  disabled="disabled" runat="server">Split Item</button>
                                        </ClientItemTemplate>--%>
                                    </telerik:GridTemplateColumn>
                        </Columns>
                    </MasterTableView>
                    <ClientSettings ClientEvents-OnCommand="function(){}">
                        <DataBinding ShowEmptyRowsOnLoad="false"></DataBinding>
                    </ClientSettings>
                </telerik:RadGrid>
 
                <div id="AddUnplannedMaterialsLinkContainer" runat="server">
                    <a href="#" style="display: none;" class="addUnplannedLink" onclick="$find('<%= this.InventoryContainer.ClientID %>')._showUnplannedMaterialsPicker(); return false;">Add Additional Materials</a>
                </div>
 
                <div class="materialPickerContainer">
                    <uc1:ActualMaterialPicker ID="addtlMaterialsActualPicker" ReturnUnplannedMaterials="true" runat="server"></uc1:ActualMaterialPicker>
                </div>
            </div>
            <div class="horizCenter">
                          <div id="MiscContainer" class="floatLeft" style="width: 100%;" runat="server">
                            <div class="shiftContentHeader" style="clear: both;">Miscellaneous</div>
                            <telerik:RadGrid ID="radMiscGrid" runat="server"></telerik:RadGrid>
                        </div>
            </div>
            <br />
            <div class="horizCenter">
                <div id="PersonnelContainer" class="floatLeft" style="width: 49%;" runat="server">
                    <div class="shiftContentHeader" style="clear: both;">Personnel</div>
 
                    <telerik:RadGrid ID="radPersonnelGrid" runat="server"></telerik:RadGrid>
                </div>
 
                <div id="EquipmentContainer" class="floatLeft mleft20px" style="width: 49%;" runat="server">
                    <div class="shiftContentHeader" style="clear: both;">Equipment</div>
 
                    <telerik:RadGrid ID="radEquipmentGrid" runat="server"></telerik:RadGrid>
                </div>
               
                 
                <div class="cleared"></div>
            </div>
 
            <div id="MaterialNotesContainers" class="cleared mtop20px" runat="server">
                <uc1:ProjectNoteEditor ID="ucNoteEditor" DisableEditing="true" HeaderClass="inventoryContentHeader" ClockNumber="111111" NoteType="MaterialsNotes" runat="server"></uc1:ProjectNoteEditor>
            </div>
 
            <div class="buttonWrapper cleared floatLeft mtop20px">
                <button type="button" id="projectSaveButton" style="display: none;" class="imgButton projectSaveButton">
                    <em class="imgHolder"></em>Save Inventory</button>
                <button type="button" class="pickListButton">Pick List</button>
                <button type="button" class="restockListButton inventoryButton">Restock List</button>
                <button type="button" id="projectCancelButton" class="projectCancelButton">
                    Cancel</button>
            </div>
        </ContentTemplate>
    </telerik:RadWindow>

Ianko
Telerik team
 answered on 28 Sep 2015
5 answers
1.3K+ views
Hi,

I want to show confirmation message before user update or insert record using rad grid (Edit popup form).
Confirmation message will be display when user click on insert or update button on the popup window.


Please suggest me for this problem.






Regards,
Kailash
Dion
Top achievements
Rank 1
 answered on 28 Sep 2015
1 answer
977 views

I have a grid that is in batch edit mode and I'm including the ability to mass update the current filtered view.  What I can't seem to get to work is the addition of the css class k-dirty-cell to those changed cells and even the previously adjusted batch edit cells lose their red triangle as well.  Any ideas?

The grid:

   @(Html.Kendo().Grid<AELIS3.ShuttleCust.Entities.ActivePlan>()
        .Name("ActivePlan")
        .Columns(columns =>
        {
            columns.Bound(p => p.Account)
                .Filterable(filterable => filterable.UI("accountFilter").Extra(false))  
                .Width(100);
            columns.Bound(p => p.Origin)
                .Filterable(filterable => filterable.UI("originFilter").Extra(false))                
                .Width(85);
            columns.Bound(p => p.CustomerName)
                .Filterable(filterable => filterable.UI("customerFilter").Extra(false))
                .Width(250);
            columns.Bound(p => p.City)
                .Filterable(filterable => filterable.UI("citiesFilter").Extra(false))                
                .Width(125);
            columns.Bound(p => p.State)
                .Filterable(filterable => filterable.UI("statesFilter").Extra(false))
                .Width(85);
            columns.Bound(p => p.Sun)
                .Filterable(filterable => filterable.UI("warehouseFilter").Extra(false))
                .ClientTemplate("#if(SunLock === true){#<span class='red'>#: Sun #</span>#} else {#<span class='black'>#: Sun#</span>#}#")
                .EditorTemplateName("_WRHS_Sunday");
            columns.Bound(p => p.Mon)
                .Filterable(filterable => filterable.UI("warehouseFilter").Extra(false))
                .ClientTemplate("#if(MonLock === true){#<span class='red'>#: Mon #</span>#} else {#<span class='black'>#: Mon#</span>#}#")
                .EditorTemplateName("_WRHS_Monday");
            columns.Bound(p => p.Tue)
                .Filterable(filterable => filterable.UI("warehouseFilter").Extra(false))
                .ClientTemplate("#if(TueLock === true){#<span class='red'>#: Tue #</span>#} else {#<span class='black'>#: Tue#</span>#}#")
                .EditorTemplateName("_WRHS_Tuesday");
            columns.Bound(p => p.Wed)
                .Filterable(filterable => filterable.UI("warehouseFilter").Extra(false))
                .ClientTemplate("#if(WedLock === true){#<span class='red'>#: Wed #</span>#} else {#<span class='black'>#: Wed#</span>#}#")
                .EditorTemplateName("_WRHS_Wednesday");
            columns.Bound(p => p.Thu)
                .Filterable(filterable => filterable.UI("warehouseFilter").Extra(false))
                .ClientTemplate("#if(ThuLock === true){#<span class='red'>#: Thu #</span>#} else {#<span class='black'>#: Thu#</span>#}#")
                .EditorTemplateName("_WRHS_Thursday");
            columns.Bound(p => p.Fri)
                .Filterable(filterable => filterable.UI("warehouseFilter").Extra(false))
                .ClientTemplate("#if(FriLock === true){#<span class='red'>#: Fri #</span>#} else {#<span class='black'>#: Fri#</span>#}#")
                .EditorTemplateName("_WRHS_Friday");
            columns.Bound(p => p.Sat)
                .Filterable(filterable => filterable.UI("warehouseFilter").Extra(false))
                .ClientTemplate("#if(SatLock === true){#<span class='red'>#: Sat #</span>#} else {#<span class='black'>#: Sat#</span>#}#")
                .EditorTemplateName("_WRHS_Saturday");
        })
        .Editable(editable => editable.Mode(GridEditMode.InCell))
        .DataSource(dataSource => dataSource
              .Ajax()
              .Batch(true)
              .ServerOperation(false)
              .PageSize(18)                 
              .Group(groups => groups.Add(p => p.WeekBegin))
              .Read(read => read.Action("ActivePlan_Read", "ShuttleCustomer").Data("weekReturn"))
              .Update(update => update.Action("ActivePlan_Update", "ShuttleCustomer"))
              .Model(model =>
              {
                    model.Id(p => p.AccountID);

                    model.Field(p => p.Account).Editable(false);
                    model.Field(p => p.Origin).Editable(false);
                    model.Field(p => p.CustomerName).Editable(false);
                    model.Field(p => p.City).Editable(false);
                    model.Field(p => p.State).Editable(false);
                    model.Field(p => p.WeekBegin).Editable(false);
                    model.Field(p => p.WeekNo).Editable(false);
                    model.Field(p => p.Sun).Editable(true);
                    model.Field(p => p.SunLock).Editable(false);
                    model.Field(p => p.Mon).Editable(true);
                    model.Field(p => p.MonLock).Editable(false);
                    model.Field(p => p.Tue).Editable(true);
                    model.Field(p => p.TueLock).Editable(false);
                    model.Field(p => p.Wed).Editable(true);
                    model.Field(p => p.WedLock).Editable(false);
                    model.Field(p => p.Thu).Editable(true);
                    model.Field(p => p.ThuLock).Editable(false);
                    model.Field(p => p.Fri).Editable(true);
                    model.Field(p => p.FriLock).Editable(false);
                    model.Field(p => p.Sat).Editable(true);
                    model.Field(p => p.SatLock).Editable(false);
              })
           )
          .Pageable(pageable => pageable.ButtonCount(5))
          .Events(e => e.FilterMenuInit("FilterMenuFunc"))
          .ToolBar(toolbar => {
                toolbar.Save();     
            })
          .Selectable(selectable => selectable.Mode(GridSelectionMode.Multiple))
          .Filterable(filtering => filtering.Enabled(true))
          .Groupable(grouping => grouping.Enabled(true))
          .Sortable(sorting => sorting.Enabled(true))
          .Scrollable(scrolling => scrolling.Enabled(true).Height("auto"))
 ) 

 

The mass batch update function:

function iterateAll()
    {
        var col = document.getElementById('dow').value;
        var value = document.getElementById('warehouses').value;

        var grid = $('#ActivePlan').data('kendoGrid');
        grid.select(grid.tbody.find(">tr"));
        
        var selected = grid.select();
        var days = ["Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat"];
        var colIdx = days.indexOf(col);
        for (var i = 0, max = selected.length ; i < max ; i++) {          
            grid._data[i].set(col, value); //works perfects
            grid.tbody.find('td:nth-child(' + (colIdx + 7) + ')').addClass('k-dirty-cell'); //I can add other classes here but they're only temporary additions and the k-dirty-cell doesn't work at all
        }
    }

 

Boyan Dimitrov
Telerik team
 answered on 28 Sep 2015
1 answer
103 views

Is there a way of setting minor tick count on YAxis?

 

I would like to increase minor tick count

Danail Vasilev
Telerik team
 answered on 28 Sep 2015
1 answer
100 views
In IE11, a button inside the telerik decorated form doesn't fade out when Enable = False. It gets fadeout perfectly in other browsers and IE10. Has anyone faced this issue? Does it have any fix?

I appreciate your help on this.
Danail Vasilev
Telerik team
 answered on 28 Sep 2015
1 answer
56 views

We are using an older version of the Editor on an older ASP.NET application.  The version number on the RadControls/Editor/Scripts directory says 7_3_6.  I believe we determined that due to the older version of .NET that we are using, we cannot upgrade RadControls any further. 

 The behavior we are experiencing is that sometimes, when a use rclicks the Update button in the Editor dialogue, any HREFs in the editor window get changed from "path/to/file" or http://web.site/path/to/file to "about:path/to/file" or "about:path/to/this_application."  Has anybody else seen this behavior, or have any idea what causes it?  We can't reproduce it reliably and when it happens the only way to get it to stop is to restart the user's PC.

 Thanks.

Ianko
Telerik team
 answered on 28 Sep 2015
2 answers
271 views

Hi, I want to disable AllowCustomText in RadComboBox I find this article AllowCustomText Cannot Be Disabled When Loading Items on Demand and try to implement it. I set these property in my onLoad method​:

EnableLoadOnDemand = false;
EnableViewState = true;
ShowMoreResultsBox = true;
EnableVirtualScrolling = true;
AppendDataBoundItems = true;
ShowToggleImage = true;
NoWrap = true;
AllowCustomText = false;
MarkFirstMatch = true;
HighlightTemplatedItems = true;
DropDownWidth = 350;
MaxHeight = 250;
Filter = RadComboBoxFilter.Contains;

and register these events

ItemsRequested += new RadComboBoxItemsRequestedEventHandler(comboItemsRequested);
OnClientDropDownOpening = "OnClientComboBoxDropDownOpeningHandler";

where client script is

function OnClientComboBoxDropDownOpeningHandler(sender, eventArgs) {
   try {
 
       sender.requestItems("", false);
 
   } catch (e) {
       radalert(e.message + "<br>"+ e.stack)
   }
}

My combobox is defined in modal window so it is shown on user request and hide after selection. It works perfectly when I open it for the first time. But if I open combobox, hide the dialog and open it again then it doesn't work. Clicking on combobox doesn't start dropDown event and the script. For testing I add the same client script on event OnClientKeyPressing. It starts the script, but it throws this exception:

b is undefined

and stack trace:
Telerik.Web.UI.ControlItem.prototype._initialize@http://localhost:60103/Telerik.Web.UI.WebResource.axd?_TSM_HiddenField_=ctl00_ctl00_ctl00_ctl00_ctl00_ContentBody_ContentMain_RadScriptManager1_TSM&compress=1&_TSM_CombinedScripts_=%3b%3bSystem.Web.Extensions%2c+Version%3d4.0.0.0%2c+Culture%3dneutral%2c+Telerik.Web.UI%2c+Version%3d2013.3.1114.40%2c+:1978:1

b.RadComboBox._createChildControls@http://localhost:60103/Telerik.Web.UI.WebResource.axd?_TSM_HiddenField_=ctl00_ctl00_ctl00_ctl00_ctl00_ContentBody_ContentMain_RadScriptManager1_TSM&compress=1&_TSM_CombinedScripts_=%3b%3bSystem.Web.Extensions%2c+Version%3d4.0.0.0%2c+Culture%3dneutral%2c+Telerik.Web.UI%2c+Version%3d2013.3.1114.40%2c+:3850:1

b.RadComboBox.prototype._createChildControls@http://localhost:60103/Telerik.Web.UI.WebResource.axd?_TSM_HiddenField_=ctl00_ctl00_ctl00_ctl00_ctl00_ContentBody_ContentMain_RadScriptManager1_TSM&compress=1&_TSM_CombinedScripts_=%3b%3bSystem.Web.Extensions%2c+Version%3d4.0.0.0%2c+Culture%3dneutral%2c+Telerik.Web.UI%2c+Version%3d2013.3.1114.40%2c+:3317:1

b.RadComboBox.prototype._ensureChildControls@http://localhost:60103/Telerik.Web.UI.WebResource.axd?_TSM_HiddenField_=ctl00_ctl00_ctl00_ctl00_ctl00_ContentBody_ContentMain_RadScriptManager1_TSM&compress=1&_TSM_CombinedScripts_=%3b%3bSystem.Web.Extensions%2c+Version%3d4.0.0.0%2c+Culture%3dneutral%2c+Telerik.Web.UI%2c+Version%3d2013.3.1114.40%2c+:3318:67

b.RadComboBox.prototype.requestItems@http://localhost:60103/Telerik.Web.UI.WebResource.axd?_TSM_HiddenField_=ctl00_ctl00_ctl00_ctl00_ctl00_ContentBody_ContentMain_RadScriptManager1_TSM&compress=1&_TSM_CombinedScripts_=%3b%3bSystem.Web.Extensions%2c+Version%3d4.0.0.0%2c+Culture%3dneutral%2c+Telerik.Web.UI%2c+Version%3d2013.3.1114.40%2c+:4659:2

OnClientComboBoxDropDownOpeningHandler@http://localhost:60103/Js/ContentClient/def_content_client.js?v=0.3.0.1:215:16 Sys.EventHandlerList.prototype.getHandler/<@http://localhost:60103/Telerik.Web.UI.WebResource.axd?_TSM_HiddenField_=ctl00_ctl00_ctl00_ctl00_ctl00_ContentBody_ContentMain_RadScriptManager1_TSM&compress=1&_TSM_CombinedScripts_=%3b%3bSystem.Web.Extensions%2c+Version%3d4.0.0.0%2c+Culture%3dneutral%2c+Telerik.Web.UI%2c+Version%3d2013.3.1114.40%2c+:6:51366


Do you have any idea what can be wrong?

Thank you,
Petr

​

Nencho
Telerik team
 answered on 28 Sep 2015
Narrow your results
Selected tags
Tags
+? more
Top users last month
Ambisoft
Top achievements
Rank 2
Iron
Pascal
Top achievements
Rank 2
Iron
Matthew
Top achievements
Rank 1
Sergii
Top achievements
Rank 1
Iron
Andrey
Top achievements
Rank 1
Want to show your ninja superpower to fellow developers?
Top users last month
Ambisoft
Top achievements
Rank 2
Iron
Pascal
Top achievements
Rank 2
Iron
Matthew
Top achievements
Rank 1
Sergii
Top achievements
Rank 1
Iron
Andrey
Top achievements
Rank 1
Want to show your ninja superpower to fellow developers?
Want to show your ninja superpower to fellow developers?