Hi,
I have problem with dynamically generated columns in RadGrid. Each postback adds me same count of empty columns. Here is my test code.
thx for help
DK
Code-behind
I have problem with dynamically generated columns in RadGrid. Each postback adds me same count of empty columns. Here is my test code.
thx for help
DK
<%@ Page Title="" Language="C#" AutoEventWireup="true" CodeBehind="Test.aspx.cs" Inherits="Test.TestGrid" %> <head runat="server" /> <form id="frm" runat="server"><asp:ScriptManager ID="ScriptManager1" runat="server"> </asp:ScriptManager> <asp:HiddenField ID="hfMinYear" runat="server" /><asp:HiddenField ID="hfMaxYear" runat="server" /> <telerik:RadGrid ID="grdForecast" AllowFilteringByColumn="false" AllowMultiRowSelection="true" AllowSorting="true" AutoGenerateColumns="false" EnableViewState="true" OnNeedDataSource="grdForecast_NeedDataSource" runat="server"> <ClientSettings EnableRowHoverStyle="true"> <Selecting AllowRowSelect="True" /> </ClientSettings> <MasterTableView DataKeyNames="ForecastId" EnableColumnViewState="false"><HeaderStyle Wrap="false" /><ItemStyle Wrap="false" /> <Columns> <telerik:GridClientSelectColumn UniqueName="ClientSelectColumn" /> <telerik:GridBoundColumn DataField="ValueTotal" DataFormatString="{0:0.##}" HeaderText="Total Value" HeaderStyle-Wrap="false" ItemStyle-HorizontalAlign="Right" ItemStyle-Wrap="false" ReadOnly="True" UniqueName="ValueTotal"></telerik:GridBoundColumn> </Columns> </MasterTableView> </telerik:RadGrid> <asp:button id="ddd" text="Postback" runat="server" /></form>Code-behind
using System;using System.Data;using Telerik.Web.UI;namespace Test{ public partial class TestGrid : System.Web.UI.Page { protected int ProjectId; protected void Page_Init(object sender, EventArgs e) {// if (IsPostBack) { int MinYear = 2010, MaxYear = 2020; CreateColumns(MinYear, MaxYear); } } protected void Page_Load(object sender, EventArgs e) { } protected void CreateColumns(int MinYear, int MaxYear) { for (int i = MinYear; i <= MaxYear; i++) { grdForecast.MasterTableView.Columns.Add(new GridBoundColumn() { DataField = "Value" + i, DataFormatString = "{0:0.##}", HeaderText = "Value " + i, ReadOnly = true, UniqueName = "Value" + i }); } } protected void grdForecast_NeedDataSource(object source, Telerik.Web.UI.GridNeedDataSourceEventArgs e) { grdForecast.DataSource = new DataTable(); } }}