We use cookies to give you the best experience on our website. If you continue to browse, then you agree to our privacy policy and cookie policy. (Last updated on: June 24, 2019).
Unfortunately, activation email could not send to your email. Please try again.
Syncfusion Feedback

Export personalized boolean values

Thread ID:

Created:

Updated:

Platform:

Replies:

144345 May 2,2019 12:21 AM UTC May 3,2019 05:27 AM UTC ASP.NET Web Forms 3
loading
Tags: Grid
Toni
Asked On May 2, 2019 12:21 AM UTC

Hello.
I have a grid that shows data that include a boolean column which is displayed in the grid as a checkbox (perfect behaviour for me).
But when I export the grid to Excel or Pdf, the boolean values are shown as "Verdadero" or "Falso" (in Spanish). I would like to customize these values to show whatever I like (for example Ok/No Ok or Sí/No) ONLY in the exported document.
I have even tried to use a template for the column. I got the desired results on the web page but in the Excel file were shown again the unwanted values.
Any way to achieve this?
Thanks in advance.


Vignesh Natarajan [Syncfusion]
Replied On May 2, 2019 05:33 AM UTC

Hi Toni,  
 
Thanks for contacting Syncfusion support.  
 
Query: “ would like to customize these values to show whatever I like (for example Ok/No Ok or Sí/No) ONLY in the exported document 
 
From your query, we understand that you need to customize the value while exporting. We suggest you to achieve your requirement using server events (OnServerExcelQueryCellInfo and OnServerPdfQueryCellInfo). Please refer the below code example 
 
<ej:Grid ID="FlatGrid" runat="server" IsResponsive="true"  AllowFiltering="True" AllowGrouping="true" AllowReordering="true" AllowSorting="true" OnServerExcelQueryCellInfo="FlatGrid_ServerExcelQueryCellInfo" OnServerPdfQueryCellInfo="FlatGrid_ServerPdfQueryCellInfo" OnServerWordExporting="FlatGrid_ServerWordExporting" OnServerPdfExporting="FlatGrid_ServerPdfExporting" OnServerExcelExporting="FlatGrid_ServerExcelExporting" AllowPaging="True"> 
            <ToolbarSettings ShowToolbar="true" ToolbarItems="excelExport,wordExport,pdfExport"></ToolbarSettings> 
       <Columns> 
…………………………………….. 
           <ej:Column Field="Verified" HeaderText="True/False" Width="90" /> 
             </Columns>             
        </ej:Grid> 
 
///////////////////////////// 
 
protected void FlatGrid_ServerExcelQueryCellInfo(object obj) 
        { 
            IRange range = (IRange)obj; 
            if ( range.Column == 7) 
            { 
                if (range.Value == "TRUE") 
                    range.Value = "Ok"; 
                else 
                    range.Value = "Not Ok"; 
 
            }                 
        } 
 
 
////////////////////////////// 
 
protected void FlatGrid_ServerPdfQueryCellInfo(object obj) 
        { 
            PdfGridCell gCell = (PdfGridCell)obj; 
            if (gCell.Value.ToString() == "true") 
                gCell.Value = "Ok"; 
            else if (gCell.Value.ToString() == "false") 
                gCell.Value = "Not Ok"; 
        }         
 
 
Refer the below screeshot for the output 
 
  1. Excel File
 
 
 
  1. Pdf file
 
 
 
For your convenience we have prepared a sample which can be downloaded from below link 
 
 
Refer our UG document for your reference 
 
  
 
Please get back to us if you have further queries. 
 
Regards, 
Vignesh Natarajan.  


Toni Moreno
Replied On May 2, 2019 10:30 AM UTC

The solution is good but still does not fullfill my needs.
In your sample you use "if ( range.Column == 7)" to change the value but my grid has a column chooser and could happen that the column is not always in the same position.
Can I check if is the right column by column name or something like that?
Thanks

Vignesh Natarajan [Syncfusion]
Replied On May 3, 2019 05:27 AM UTC

Hi Toni, 
 
Thanks for the update. 
 
Query: Can I check if is the right column by column name or something like that? 
 
As per your requirement we have achieved your requirement by changing the text using columnName in the server side events. We have also ensured the solution using columnChooser. Refer the below code example, 
 
 
<ej:Grid ID="FlatGrid" runat="server" IsResponsive="true"  ShowColumnChooser="true" AllowFiltering="True" AllowGrouping="true" AllowReordering="true" AllowSorting="true"  OnServerExcelRowInfo="FlatGrid_ServerExcelRowInfo" OnServerPdfRowInfo="FlatGrid_ServerPdfRowInfo" OnServerPdfExporting="FlatGrid_ServerPdfExporting" OnServerExcelExporting="FlatGrid_ServerExcelExporting" AllowPaging="True"> 
            <ToolbarSettings ShowToolbar="true" ToolbarItems="excelExport,pdfExport"></ToolbarSettings> 
       <Columns> 
………………………………. 
             </Columns>             
        </ej:Grid> 
 
 
// Server End 
 
public GridProperties obj; 
 
List<cols> column = new List<cols>(); 
 
  protected void FlatGrid_ServerExcelExporting(object sender, Syncfusion.JavaScript.Web.GridEventArgs e) 
        { 
            ExcelExport exp = new ExcelExport(); 
            obj = ConvertGridObject(e.Arguments["model"].ToString()); 
            GridExcelExport exp1 = new GridExcelExport() { Theme = "flat-lime", FileName = "Export.xlsx" }; 
            exp.Export(obj, (IEnumerable)FlatGrid.DataSource, exp1); 
        } 
 
        protected void FlatGrid_ServerPdfExporting(object sender, Syncfusion.JavaScript.Web.GridEventArgs e) 
        { 
            PdfExport exp = new PdfExport(); 
            obj = ConvertGridObject(e.Arguments["model"].ToString()); 
            GridPdfExport exp1 = new GridPdfExport() { Theme = "flat-lime", FileName = "Export.pdf" }; 
            exp.Export(obj, (IEnumerable)FlatGrid.DataSource, exp1); 
        } 
 
        private GridProperties ConvertGridObject(string gridProperty) 
        { 
           ………….. 
       } 
 
         
        protected void FlatGrid_ServerExcelRowInfo(object currentCell) 
        { 
            GridColumnChange(); 
            IRange range = (IRange)currentCell; 
            for (var y = 0; y < range.Column; y++) 
            { 
                if (column[y].Field == "Verified"// Check the Boolean values field name and apply the customization. 
                { 
                    if (range.Value == "TRUE") 
                        range.Value = "Ok"; 
                    else 
                        range.Value = "Not Ok"; 
                } 
            } 
        } 
 
 
        protected void FlatGrid_ServerPdfRowInfo(object currentCell) 
        { 
            GridColumnChange(); 
            Syncfusion.Pdf.Grid.PdfGridRow range = (Syncfusion.Pdf.Grid.PdfGridRow)currentCell; 
            for (var i = 0; i < range.Cells.Count; i++) 
            { 
                if (column[i].Field == "Verified") // Check the Boolean values field name and apply the customization. 
                { 
                    if (range.Cells[i].Value.ToString() == "true") 
                        range.Cells[i].Value = "Ok"; 
                    else if (range.Cells[i].Value.ToString() == "false") 
                        range.Cells[i].Value = "Not Ok"; 
                } 
            } 
        } 
 
        public void GridColumnChange() 
        { 
            for (var j = 0; j < obj.Columns.Count; j++) 
            { 
                if (obj.Columns[j].Visible == true) 
                { 
                    column.Add(new cols() { Field = obj.Columns[j].Field }); // Add Visible column Field here. 
                } 
 
            } 
        } 
 
        public class cols 
        { 
            public string Field { get; set; } 
            
        } 
 
 
 
For your convenience we have prepared a sample which can be downloaded from below 
 
 
Please get back to us, if you need further assistance. 
 
Regards, 
Vignesh Natarajan. 
 


CONFIRMATION

This post will be permanently deleted. Are you sure you want to continue?

Sorry, An error occured while processing your request. Please try again later.

Please sign in to access our forum

This page will automatically be redirected to the sign-in page in 10 seconds.

Warning Icon You are using an outdated version of Internet Explorer that may not display all features of this and other websites. Upgrade to Internet Explorer 8 or newer for a better experience.Close Icon

Live Chat Icon For mobile
Live Chat Icon