Hi there,
I have a problem in using the radGrid in combination with user controls.
As you can see in the enclosed image (=Image1.png) I want to show some part detail infomation to the user by clicking the expand button of the grid.
The image shown is populated by a user control which is added to the placeholder in the code behind.
When I click the expand button for another part the image of the previous part disappears (=Image2.png)
I use the following code:
Any idea?
Many thanx!
Marcel
I have a problem in using the radGrid in combination with user controls.
As you can see in the enclosed image (=Image1.png) I want to show some part detail infomation to the user by clicking the expand button of the grid.
The image shown is populated by a user control which is added to the placeholder in the code behind.
When I click the expand button for another part the image of the previous part disappears (=Image2.png)
I use the following code:
<NestedViewTemplate> <asp:Panel ID="paPart" runat="server" GroupingText="Part info"> <table width="100%"> <tr> <!--Empty--> <td width="5%"></td> <!--Part detail--> <td width="45%" valign="top"> <table> <tr> <td>Partnumber:</td> <td><asp:Label ID="laPartnumber" runat="server"></asp:Label></td> </tr> <tr> <td>Description:</td> <td><asp:Label ID="laDescription" runat="server"></asp:Label></td> </tr> <tr> <td>Weight:</td> <td><asp:Label ID="laWeight" runat="server"></asp:Label></td> </tr> <tr> <td>Volume:</td> <td><asp:Label ID="laVolume" runat="server"></asp:Label></td> </tr> <tr> <td>Package quantity:</td> <td><asp:Label ID="laPackageQuantity" runat="server"></asp:Label></td> </tr> <tr> <td>Unit of measure:</td> <td><asp:Label ID="laUnitOfMeasure" runat="server"></asp:Label></td> </tr> </table> </td> <!--Images met Lightbox--> <td align="center" width="50%"> <table width="100%"> <tr> <td valign="top"><asp:PlaceHolder ID="phPartImage" runat="server"></asp:PlaceHolder></td> <td> </td> <td valign="top"><asp:PlaceHolder ID="phPartImageOther" runat="server"></asp:PlaceHolder></td> </tr> </table> </td> </tr> </table> </asp:Panel> </NestedViewTemplate> </MasterTableView>protected void grPart_ItemCommand(object source, Telerik.Web.UI.GridCommandEventArgs e) { if (e.CommandName == Telerik.Web.UI.RadGrid.ExpandCollapseCommandName) { Telerik.Web.UI.GridDataItem Item = e.Item as Telerik.Web.UI.GridDataItem; if (!Item.Expanded) { Telerik.Web.UI.GridNestedViewItem NestedItem = (Telerik.Web.UI.GridNestedViewItem)Item.ChildItem; //get part NMHG.Data.Part.Part.Part Part = new NMHG.Data.Part.Part.Part(); Part.Partnumber = Item.GetDataKeyValue("Partnumber").ToString(); Part.GetPart(); //Partnumber Label laPartnumber = (Label)NestedItem.FindControl("laPartnumber"); laPartnumber.Text = Part.Partnumber; //Description Label laDescription = (Label)NestedItem.FindControl("laDescription"); laDescription.Text = Part.Description; //Weight Label laWeight = (Label)NestedItem.FindControl("laWeight"); laWeight.Text = Part.Weight.ToString(); //Volume Label laVolume = (Label)NestedItem.FindControl("laVolume"); laVolume.Text = Part.volume.ToString(); //Package quantity Label laPackageQuantity = (Label)NestedItem.FindControl("laPackageQuantity"); laPackageQuantity.Text = Part.Package_Qty.ToString(); //Unit of measure Label laUnitOfMeasure = (Label)NestedItem.FindControl("laUnitOfMeasure"); laUnitOfMeasure.Text = Part.Unit_of_Measure.ToString(); //Images //get files image directory bool PHOTO_FIRST = true; //1 of meerdere foto's string FILENAME = Part.Partnumber.Replace(" ", "") + "*.jpg"; string DIRECTORY = ConfigurationManager.AppSettings.Get("DIR part images"); DirectoryInfo DIRINFO = new DirectoryInfo(DIRECTORY); FileInfo[] BESTANDEN = DIRINFO.GetFiles(FILENAME); foreach (FileInfo BESTAND in BESTANDEN) { //creeer usercontrol PartImage Part.User_controls.PartImage PartImage = (Part.User_controls.PartImage)LoadControl("PartImage.ascx"); PartImage.FILENAME = Path.GetFileNameWithoutExtension(BESTAND.Name) + "*.jpg"; PartImage.DESCRIPTION = Part.Partnumber + " - " + Part.Description; PartImage.THUMBNAIL = false; //Use/show thumbnail if (PHOTO_FIRST == true) { PartImage.WIDTH = 200; PartImage.HEIGHT = 200; PartImage.PARTIMAGE_FILL(); //add user control to placeholder PlaceHolder phPartImage = (PlaceHolder)NestedItem.FindControl("phPartImage"); phPartImage.Controls.Add(PartImage); } else { PartImage.WIDTH = 50; PartImage.HEIGHT = 50; PartImage.PARTIMAGE_FILL(); //add user control to placeholder other PlaceHolder phPartImageOther = (PlaceHolder)NestedItem.FindControl("phPartImageOther"); phPartImageOther.Controls.Add(PartImage); //set empty row Label label = new Label(); label.Height = Unit.Pixel(20); phPartImageOther.Controls.Add(label); } PHOTO_FIRST = false; } } } }Any idea?
Many thanx!
Marcel