Hello,
I have an issue accessing the control of a, code behind generated, GridTemplateColumn from a click event of a button outside of the RadGrid.
<telerik:RadGrid ID="MyGrid" runat="server" AutoGenerateColumns="true" AllowSorting="true" AllowAutomaticDeletes="false" AllowAutomaticInserts="false" AllowAutomaticUpdates="false" OnColumnCreated="Siblings_ColumnCreated"> <GroupingSettings CaseSensitive="false" /> <HeaderStyle HorizontalAlign="Center" BorderWidth="1" /> <ClientSettings AllowColumnsReorder="false"> <Selecting AllowRowSelect="false" /> </ClientSettings> <MasterTableView AllowPaging="false" DataKeyNames="MyField" CommandItemDisplay="None" TableLayout="Fixed"> </MasterTableView></telerik:RadGrid>
protected void Page_Load(object sender, EventArgs e){ if (!IsPostBack) { if (MyCondition) { MyGrid.MasterTableView.EditMode = GridEditMode.Batch; var MyTemplateColumn = new GridTemplateColumn(); MyTemplateColumn.UniqueName = "MyTemplateColumn"; MyTemplateColumn.HeaderText = "MyTemplateColumn"; MyTemplateColumn.ItemTemplate = new MyTemplate(); MyGrid.Columns.Add(MyTemplateColumn); } MyGrid.DataSource = MyDataTable; MyGrid.DataBind(); }}public partial class MyTemplate : ITemplate{ public void InstantiateIn(Control container) { var cb = new RadComboBox(); cb.ID = "MyComboBox"; cb.AutoPostBack = false; container.Controls.Add(cb); }}protected void MyButton_Click(object sender, EventArgs e){ foreach (GridDataItem item in MyGrids.Items) { //This works, I have access to all the autogenerated columns and their values string MyValue = item["MyField"].Text; //This works, I have access to the Template column TableCell MyTemplateColumn = item["MyTemplateColumn"]; //doesn't work => Controls.Count = 0 var MyColumnCombobox = MyTemplateColumn.Controls[0] as RadComboBox; //doesn't work var MyRowCombobox = item.FindControl("MyTemplateColumn") as RadComboBox; }}
Anyone can help ?
Thank you.
