Hi
The DataFormatString doesnt seem to be formatting my data. Working example below. I am building a grid programmatically (although the live example is a hierarchical grid but this example also doesnt work).
Help really appreciated as I looking at the examples on the site I would expect it would
Thanks
aspx code
Code behind
The DataFormatString doesnt seem to be formatting my data. Working example below. I am building a grid programmatically (although the live example is a hierarchical grid but this example also doesnt work).
Help really appreciated as I looking at the examples on the site I would expect it would
Thanks
aspx code
<%@ Page Title="Home Page" Language="C#" AutoEventWireup="true" CodeBehind="Default.aspx.cs" Inherits="DataFormatting._Default" %> <%@ Register assembly="Telerik.Web.UI" namespace="Telerik.Web.UI" tagprefix="telerik" %> <form id="form1" runat="server"> <telerik:RadAjaxManager ID="RadAjaxManager1" runat="server"> </telerik:RadAjaxManager> <telerik:RadScriptManager ID="RadScriptManager1" Runat="server"> </telerik:RadScriptManager> <div class="contributionTable" > <asp:PlaceHolder ID="PlaceHolder1" runat="server" > <telerik:RadGrid ID="clientContribution" runat="server" onitemdatabound="clientContribution_ItemDataBound" > </telerik:RadGrid> </asp:PlaceHolder> </div> </form> Code behind
using System; using System.Collections.Generic; using System.Data; using System.Linq; using System.Diagnostics; using System.Web; using System.Web.UI; using System.Web.UI.WebControls; using Telerik.Web.UI; namespace DataFormatting { public partial class _Default : System.Web.UI.Page { protected void Page_Load(object sender, EventArgs e) { if (!this.IsPostBack) { BuildTheGrid(); } } protected void clientContribution_ItemDataBound(object sender, GridItemEventArgs e) { if (e.Item is GridGroupHeaderItem) { GridGroupHeaderItem item = (GridGroupHeaderItem)e.Item; DataRowView groupDataRow = (DataRowView)e.Item.DataItem; } } #region Build the grid private DataSet BuildTheGrid() { try { clientContribution.DataSource = null; DataSet contributionColumns = LoadGridData(); // Define the main grid for (int loopPos = clientContribution.MasterTableView.Columns.Count; loopPos > 0; loopPos--) { clientContribution.MasterTableView.Columns.RemoveAt(loopPos - 1); } clientContribution.ID = "MyGrid"; clientContribution.DataSource = contributionColumns; clientContribution.Width = Unit.Percentage(98); clientContribution.AutoGenerateColumns = false; clientContribution.ShowStatusBar = true; clientContribution.MasterTableView.Width = Unit.Percentage(100); // now build the hierarchical grid GridBoundColumn boundColumn = new GridBoundColumn(); foreach (DataColumn col in contributionColumns.Tables[0].Columns) { boundColumn = new GridBoundColumn(); clientContribution.MasterTableView.Columns.Add(boundColumn); boundColumn.DataField = col.ColumnName; boundColumn.HeaderText = col.ColumnName; boundColumn.Visible = true; if (col.Ordinal == 1) { boundColumn.DataFormatString = "{0:##,###.0}"; } if (col.Ordinal == 2) { boundColumn.DataFormatString = "{0:###.0%}"; } } clientContribution.DataBind(); } catch (Exception exc) { Debug.WriteLine(exc.Message); return null; } finally { } return null; } #endregion #region Load the Grid Data private DataSet LoadGridData() { // return the data to display DataSet contributionData = new DataSet("MyData"); DataTable gridData = contributionData.Tables.Add("ContData"); gridData.Columns.Add(new DataColumn("DummyValue")); gridData.Columns.Add(new DataColumn("DecimalValue")); gridData.Columns.Add(new DataColumn("PercentageValue")); for (int i = 0; i < 10; i++) { DataRow dataRow = contributionData.Tables[0].NewRow(); dataRow["DummyValue"] = "Value" + i.ToString(); dataRow["DecimalValue"] = 1234.88 * i; dataRow["PercentageValue"] = 2.33 * i; contributionData.Tables[0].Rows.Add(dataRow); } return contributionData; } #endregion } }