I am dynamically creating a radgrid as,
protected
void Page_Load(object sender, EventArgs e)
{
if (!Page.IsPostBack)
{
rgTest.AutoGenerateColumns =
false;
GridBoundColumn boundColumn;
GridButtonColumn btnColOk;
GridButtonColumn btnColCancel;
GridTemplateColumn templateColumn;
dt = GetDataSource();
ViewState[
"dt"] = dt;
for (int i = 0; i < dt.Columns.Count - 1; i++)
{
if (i == 0)
{
boundColumn =
new GridBoundColumn();
rgTest.MasterTableView.Columns.Add(boundColumn);
boundColumn.DataField = dt.Columns[i].ColumnName;
boundColumn.HeaderText = dt.Columns[i].ColumnName;
}
if (i > 0)
{
templateColumn =
new GridTemplateColumn();
rgTest.MasterTableView.Columns.Add(templateColumn);
templateColumn.ItemTemplate =
new GridTemplate(dt.Columns[i].ColumnName);
templateColumn.HeaderText = dt.Columns[i].ColumnName;
templateColumn.DataField = dt.Columns[i].ColumnName;
btnColOk =
new GridButtonColumn();
rgTest.MasterTableView.Columns.Add(btnColOk);
btnColOk.UniqueName =
"btnColOk";
btnColOk.ButtonType =
GridButtonColumnType.ImageButton;
btnColOk.ImageUrl =
@"~\Images\tick.png";
btnColOk.CommandName =
"btnColOk_Click";
btnColCancel =
new GridButtonColumn();
rgTest.MasterTableView.Columns.Add(btnColCancel);
btnColCancel.ButtonType =
GridButtonColumnType.ImageButton;
btnColCancel.ImageUrl =
@"~\Images\delete.png";
btnColCancel.Visible =
false;
}
}
}
}
It works perfect. But when i click on the image button, the postback removes all template columns?
Can anyone help, what am i doing wrong?
Thanks