or
convert: function() { var cb = function(arg) { if (arg) { __doPostBack('', ''); } } originalRadConfirm("Question", cb, 200, 200, null, "Headline");},function OnClientClose(radWindow){ var oArg = radWindow.Argument; if (oArg!=null) { if (oArg.type == 'task') { var ctl1 = document.getElementById(oArg.key1); var ctl2= document.getElementById(oArg.key2); ctl1.style.color="blue"; ctl1.value = oArg.value1; ctl2.value = oArg.value2; } }}Hello programmers, i hope now you can help me.
I have a grid that each item has its table of detail, yet each detail table is different, because they may have a different number of columns.
I modify the structure from the code, however, when I expand the detail table shows the previous structure and expand a second time, shows the correct structure.
Is there any way to display the existing economic structure right the first time?
Annex code and images.
-- ASPX ========================================================================
<Telerik:RadGrid ID="radGriOrdComDetalles" runat="server" Width="980" AutoGenerateColumns="false" AllowAutomaticDeletes="false" AllowAutomaticInserts="false" AllowAutomaticUpdates="false"> <MasterTableView DataKeyNames="Id, prodSkucode" CommandItemDisplay="None" EditMode="InPlace" NoDetailRecordsText =" " NoMasterRecordsText=""> <Columns> <Telerik:GridBoundColumn UniqueName="colIdOrdCompra" HeaderText="Id orden de compra" DataField="Id" HeaderStyle-Width="130px"/> <Telerik:GridBoundColumn UniqueName="colSku" HeaderText="SKU" DataField="prodSkucode" HeaderStyle-Width="160px"/> <Telerik:GridBoundColumn UniqueName="colDescripcion" HeaderText="Descripcion" DataField="prodDescripcion" HeaderStyle-Width="300px"/> <Telerik:GridBoundColumn UniqueName="colDepartamento" HeaderText="Departamento" DataField="depaDescripcion" HeaderStyle-Width="180px"/> </Columns> <DetailTables> <Telerik:GridTableView Name="gridProductoDetalles" DataKeyNames="Id, prodSkucode" EditMode="InPlace" NoDetailRecordsText="" NoMasterRecordsText="" GridLines="Vertical"> </Telerik:GridTableView> </DetailTables> </MasterTableView> </Telerik:RadGrid>void radGriOrdComDetalles_DetailTableDataBind(object sender, Telerik.Web.UI.GridDetailTableDataBindEventArgs e) { try { if (e.DetailTableView.Name == "gridProductoDetalles") { Telerik.Web.UI.GridDataItem parentItem = e.DetailTableView.ParentItem; strSkucode = parentItem.Cells[3].Text; strIdOrdCompra = parentItem.Cells[2].Text; DataTable datTabDatosDetalle = new DataTable(); if (ViewState["OrdCompraProdDetallesSub" + strIdOrdCompra + strSkucode] == null) datTabDatosDetalle = CCSMovimientoProductos.BuscarProdDetOrdenCompra_CEDIS(strIdOrdCompra, strSkucode).Tables[0]; else datTabDatosDetalle = (DataTable)ViewState["OrdCompraProdDetallesSub" + strIdOrdCompra + strSkucode]; //e.DetailTableView.DataSource = datTabDatosDetalle; // SE AGREGAN LAS COLUMNAS CORRESPONDIENTES. radGriOrdComDetalles.MasterTableView.DetailTables[0].Columns.Clear(); radGriOrdComDetalles.MasterTableView.DetailTables[0].Rebind(); Telerik.Web.UI.GridBoundColumn campo; foreach (DataColumn dc in datTabDatosDetalle.Columns) { campo = new Telerik.Web.UI.GridBoundColumn(); radGriOrdComDetalles.MasterTableView.DetailTables[0].Columns.Add(campo); campo.UniqueName = "col" + dc.ColumnName; campo.HeaderText = "[ " + dc.ColumnName + " ]"; campo.HeaderStyle.Font.Bold = true; campo.HeaderStyle.HorizontalAlign = HorizontalAlign.Center; campo.DataField = dc.ColumnName; if (dc.ColumnName == "Talla") campo.ReadOnly = true; } Telerik.Web.UI.GridEditCommandColumn campoEdit = new Telerik.Web.UI.GridEditCommandColumn(); campoEdit.UniqueName = "colEdit"; radGriOrdComDetalles.MasterTableView.DetailTables[0].Columns.Add(campoEdit); campoEdit.UniqueName = "colEdit"; campoEdit.ButtonType = Telerik.Web.UI.GridButtonColumnType.LinkButton; campoEdit.EditText = "Editar"; campoEdit.UpdateText = "Actualizar"; campoEdit.CancelText = "Cancelar"; // SE AGREGA EN EL VIEWSTATE LA REGLETA CORRESPONDIENTE AL PRODUCTO if (ViewState["OrdCompraProdDetallesSub" + strIdOrdCompra + strSkucode] == null) ViewState.Add("OrdCompraProdDetallesSub" + strIdOrdCompra + strSkucode, datTabDatosDetalle); else ViewState["OrdCompraProdDetallesSub" + strIdOrdCompra + strSkucode] = datTabDatosDetalle; // SE AGREGAN LOS DATOS FINALES AL SOURCE DEL GRID. radGriOrdComDetalles.MasterTableView.DetailTables[0].DataSource = datTabDatosDetalle; radGriOrdComDetalles.MasterTableView.DetailTables[0].Columns[0].Visible = false; radGriOrdComDetalles.MasterTableView.DetailTables[0].Columns[1].Visible = false; radGriOrdComDetalles.MasterTableView.DetailTables[0].CommandItemDisplay = Telerik.Web.UI.GridCommandItemDisplay.Top; radGriOrdComDetalles.MasterTableView.DetailTables[0].EditMode = Telerik.Web.UI.GridEditMode.InPlace; radGriOrdComDetalles.Rebind(); } } catch (Exception ex) { } }