I have a radgrid that goes 3 deep, when i click on something on the 3rd tier down or at that location and then do something, i want the grid to open back up to that location after rebind how can I do this.
<asp:Panel ID="pnlGrids" runat="server"> <asp:LinkButton id="lnkAddCat" runat="server">Add Category</asp:LinkButton> <telerik:RadGrid ID="myRadGrid" runat="server" Width="100%" BorderWidth="1px" CellPadding="4" Skin="Web20"> <MasterTableView AutoGenerateColumns="false" DataKeyNames="intCategoryId" HierarchyDefaultExpanded="false" Font-Size="10" Font-Names="Veranda,arial,sans-serif" HeaderStyle-HorizontalAlign="Center" Name="MasterGrid" ExpandCollapseColumn-ButtonType="ImageButton" HierarchyLoadMode="ServerBind" ExpandCollapseColumn-CollapseImageUrl="~/Images/30.png" ExpandCollapseColumn-ExpandImageUrl="~/Images/29.png"> <ItemStyle HorizontalAlign="Center" /><AlternatingItemStyle BackColor="#B0C4DE" HorizontalAlign="Center" /><HeaderStyle ForeColor="White" Font-Bold="true" /> <DetailTables> <telerik:GridTableView Name="myManufacGrid" runat="server" DataKeyNames="intManufacturerId" TableLayout="Fixed" BorderWidth="1px" CellPadding="6" Font-Size="10" AutoGenerateColumns="False" HeaderStyle-HorizontalAlign="Center" BorderColor="#404040" Font-Names="Veranda,arial,sans-serif" GridLines="Both" ExpandCollapseColumn-ButtonType="ImageButton" ExpandCollapseColumn-CollapseImageUrl="~/Images/30.png" ExpandCollapseColumn-ExpandImageUrl="~/Images/29.png"> <ParentTableRelation> <telerik:GridRelationFields DetailKeyField="intCategoryId" MasterKeyField="intCategoryId" /> </ParentTableRelation> <HeaderStyle Font-Bold="true" HorizontalAlign="Center" CssClass="MostInnerHeaderStyle" /> <ItemStyle CssClass="MostInnerItemStyle" HorizontalAlign="Center" /> <AlternatingItemStyle CssClass="MostInnerAlernatingItemStyle" HorizontalAlign="Center" /> <DetailTables> <telerik:GridTableView DataKeyNames="intMakeID" Name="myMakeGrid" Width="100%" TableLayout="Fixed" BorderWidth="1px" CellPadding="6" Font-Size="10" AutoGenerateColumns="False" HeaderStyle-HorizontalAlign="Center" BorderColor="#404040" Font-Names="Veranda,arial,sans-serif" GridLines="Both" ExpandCollapseColumn-ButtonType="ImageButton" ExpandCollapseColumn-CollapseImageUrl="~/Images/30.png" ExpandCollapseColumn-ExpandImageUrl="~/Images/29.png"> <ParentTableRelation> <telerik:GridRelationFields DetailKeyField="intManufacturerId" MasterKeyField="intManufacturerId" /> </ParentTableRelation> <HeaderStyle Font-Bold="true" HorizontalAlign="Center" CssClass="InnerSubHeaderStyle" /> <ItemStyle CssClass="InnerSubItemStyle" HorizontalAlign="Center" /> <AlternatingItemStyle CssClass="InnerSubAlernatingItemStyle" HorizontalAlign="Center" /> <Columns> <telerik:GridBoundColumn HeaderText="MAKE|MODEL" DataField="strmake" /> <telerik:GridTemplateColumn HeaderText="Edit"> <ItemTemplate> <asp:ImageButton runat="server" ID="imgMakeEdit" CommandArgument='<%# bind("intMakeID") %>' CommandName="MakeEdit" ImageUrl="~/Images/edit_icon.png" /> </ItemTemplate> </telerik:GridTemplateColumn> <telerik:GridTemplateColumn HeaderText="Archive"> <ItemTemplate> <asp:ImageButton runat="server" ID="imgMakeArchive" CommandArgument='<%# bind("intMakeID") %>' CommandName="MakeArchive" ImageUrl="~/Images/edit_icon.png" OnClientClick="return confirm('Are you sure you want to archive Category, This will Archive everything Underneath as well.');" /> </ItemTemplate> </telerik:GridTemplateColumn> </Columns> </telerik:GridTableView> </DetailTables> <Columns> <telerik:GridBoundColumn HeaderText="MANUFACTURERS" DataField="strManufacturer"></telerik:GridBoundColumn> <telerik:GridTemplateColumn HeaderText="ADD MAKE\MODEL"> <ItemTemplate> <asp:ImageButton runat="server" ID="imgAddPosition" CommandArgument='<%# bind("intManufacturerId") %>' CommandName="AddMake" ImageUrl="~/Images/29.png" /> </ItemTemplate> </telerik:GridTemplateColumn> <telerik:GridTemplateColumn HeaderText="Edit"> <ItemTemplate> <asp:ImageButton runat="server" ID="imgManEdit" CommandArgument='<%# bind("intManufacturerId") %>' CommandName="ManEdit" ImageUrl="~/Images/edit_icon.png" /> </ItemTemplate> </telerik:GridTemplateColumn> <telerik:GridTemplateColumn HeaderText="Archive"> <ItemTemplate> <asp:ImageButton runat="server" ID="imgManArchive" CommandArgument='<%# bind("intManufacturerId") %>' CommandName="ManArchive" ImageUrl="~/Images/edit_icon.png" OnClientClick="return confirm('Are you sure you want to archive Category, This will Archive everything Underneath as well.');" /> </ItemTemplate> </telerik:GridTemplateColumn> </Columns> </telerik:GridTableView> </DetailTables> <Columns> <telerik:GridBoundColumn HeaderText="Category" DataField="strCategory" /> <telerik:GridTemplateColumn HeaderText="Add Manufacturer"> <ItemTemplate> <asp:ImageButton runat="server" ID="imgAdd" CommandArgument='<%# bind("intCategoryId") %>' CommandName="AddMan" ImageUrl="~/Images/29.png" /> </ItemTemplate> </telerik:GridTemplateColumn> <telerik:GridTemplateColumn HeaderText="Edit"> <ItemTemplate> <asp:ImageButton runat="server" ID="imgCatEdit" CommandArgument='<%# bind("intCategoryId") %>' CommandName="CatEdit" ImageUrl="~/Images/edit_icon.png" /> </ItemTemplate> </telerik:GridTemplateColumn> <telerik:GridTemplateColumn HeaderText="Archive"> <ItemTemplate> <asp:ImageButton runat="server" ID="imgCatArchive" CommandArgument='<%# bind("intCategoryId") %>' CommandName="CatArchive" ImageUrl="~/Images/edit_icon.png" OnClientClick="return confirm('Are you sure you want to archive Category, This will Archive everything Underneath as well.');" /> </ItemTemplate> </telerik:GridTemplateColumn> </Columns> </MasterTableView> </telerik:RadGrid> </asp:Panel> </td> </tr> </table>If (e.CommandName = "CatArchive") Then Dim CatID As Integer = Convert.ToInt32(e.CommandArgument) sql = "Update tblCategory set bitArchive = 1 where intCategoryId = " & CatID insertUpdateDelete(sql) myRadGrid.Rebind() End If
Here is a Snippet that seems to Fail to convert to VB correctly:
If you can do this one I have two more from the same project that also fail.
As you may note in the Imports statements - this conversion is taken from a Caliburn Micro learning sample project
Bob
namespace HelloScreensWPF.Shell {
using System;
using System.Collections.Generic;
using System.Linq;
using Framework;
using Caliburn.Micro;
public class ApplicationCloseStrategy : ICloseStrategy<IWorkspace> {
IEnumerator<IWorkspace> enumerator;
bool finalResult;
Action<bool, IEnumerable<IWorkspace>> callback;
public void Execute(IEnumerable<IWorkspace> toClose, Action<bool, IEnumerable<IWorkspace>> callback) {
enumerator = toClose.GetEnumerator();
this.callback = callback;
finalResult = true;
Evaluate(finalResult);
}
void Evaluate(bool result)
{
finalResult = finalResult && result;
if (!enumerator.MoveNext() || !result)
callback(finalResult, new List<IWorkspace>());
else
{
var current = enumerator.Current;
var conductor = current as IConductor;
if (conductor != null)
{
var tasks = conductor.GetChildren()
.OfType<IHaveShutdownTask>()
.Select(x => x.GetShutdownTask())
.Where(x => x != null);
var sequential = new SequentialResult(tasks.GetEnumerator());
sequential.Completed += (s, e) => {
if(!e.WasCancelled)
Evaluate(!e.WasCancelled);
};
sequential.Execute(new ActionExecutionContext());
}
else Evaluate(true);
}
}
}
}
protected void Page_Init(object sender, EventArgs e) { //Check SessionContext for selected MiniTab if (!String.IsNullOrEmpty(SessionContext.GetContextValue<string>("miniTab"))) { _currentMiniTab = SessionContext.GetContextValue<string>("miniTab"); } else { _currentMiniTab = SetCurrentSessionContextOfMiniTab("SpecialOffers"); } // Add Click Event on Mini Tabs SetClickableMiniTabDivs(); SetJavascript(); if (IsPostBack) { // Get event arguments from post back. string eventArg = Request["__EVENTARGUMENT"]; // Determine if postback is a custom postback from onClick of DIV Tabs if (!string.IsNullOrEmpty(eventArg) && eventArg.StartsWith("@@@@")) { //Redirect to appropriate OnClick Event of the tab CallDivEventHandler(eventArg); } } //Load Detail Control after ViewState is Initialized LoadDetailControl(_currentMiniTab); } private void LoadDetailControl(string miniTab) { phMiniTabContent.Controls.Clear(); UserControl ucTabContent = (UserControl)LoadControl(GetUserControlPath(miniTab)); ucTabContent.ID = "DynamicUserControl_MiniTab_" + miniTab; phMiniTabContent.Controls.Add(ucTabContent); SetCssClassForSelectedMiniTab(miniTab); }<telerik:RadToolTipManager ID="rttManager" runat="server" RelativeTo="Element" Width="225px" Height="100px" Style="z-index: 31000" Position="BottomLeft" Title="Like or Dislike" HideDelay="10" HideEvent="ManualClose" OnAjaxUpdate="rttManager_AjaxUpdate"></telerik:RadToolTipManager><telerik:RadGrid ID="grdSpecialOffers" runat="server" AutoGenerateColumns="False" CellSpacing="0" EnableViewState="False" GridLines="None" OnNeedDataSource="grdSpecialOffers_NeedDataSource" OnItemCreated="grdSpecialOffers_ItemCreated" OnItemDataBound="grdSpecialOffers_ItemDataBound" ShowHeader="False" Skin="gmBlueGrid" EnableEmbeddedSkins="false" Height="346px" Style="outline: none;"> <ClientSettings> <Selecting AllowRowSelect="True" /> <Scrolling AllowScroll="True" UseStaticHeaders="True" /> </ClientSettings> <MasterTableView EnableViewState="False" DataKeyNames="AccountId, OfferId"> <NoRecordsTemplate> No Special Offers </NoRecordsTemplate> <Columns> <telerik:GridTemplateColumn FilterControlAltText="Filter itemImage column" UniqueName="itemImage" ItemStyle-Width="50px"> <ItemTemplate> <a href="#"> <img id="imgPicture" runat="server" alt='<%# DataBinder.Eval(Container.DataItem, "DescLine1")%>' src="" border="0" width="36" height="36" /></a> </ItemTemplate> </telerik:GridTemplateColumn> <telerik:GridTemplateColumn FilterControlAltText="Filter itemDescription column" UniqueName="itemDescription" ItemStyle-Width="300px"> <ItemTemplate> <asp:HyperLink ID="descriptionHyperlink" runat="server" CssClass="blackHyperlink" NavigateUrl="#"> <asp:Label ID="lblDescriptionLine1" runat="server" CssClass="soDescLine1"> <%# DataBinder.Eval(Container.DataItem, "DescLine1")%></asp:Label></asp:HyperLink><br /> <asp:Label ID="lblDescriptionLine2" runat="server" CssClass="soDescLine2"> <%# DataBinder.Eval(Container.DataItem, "DescLine2")%></asp:Label> </ItemTemplate> </telerik:GridTemplateColumn> <telerik:GridTemplateColumn FilterControlAltText="Filter itemIcons column" UniqueName="itemIcons" ItemStyle-Width="50px"> <ItemTemplate> <div class="soAddButton"> <telerik:RadButton ID="btnAddItem" runat="server" Width="48" Height="23" NavigateUrl="#"> <Image ImageUrl="../Images/btAddCharcoal.gif" /> </telerik:RadButton> </div> <div class="soThumbsUpDown"> <telerik:RadButton ID="btnThumbsDown" runat="server" Width="13" Height="14" OnCommand="btnThumbsUpDown_Command" CommandName="Down" CssClass="soThumbsDown"> <Image ImageUrl="../Images/icoThumbsDown.gif" /> </telerik:RadButton> <telerik:RadButton ID="btnThumbsUp" runat="server" Width="13" Height="14" OnCommand="btnThumbsUpDown_Command" CommandName="Up" CssClass="soThumbsUp"> <Image ImageUrl="../Images/icoThumbsUp.gif" /> </telerik:RadButton> </div> </ItemTemplate> </telerik:GridTemplateColumn> </Columns> </MasterTableView></telerik:RadGrid>protected void grdSpecialOffers_ItemDataBound(object sender, GridItemEventArgs e){ if (e.Item.ItemType == GridItemType.Item || e.Item.ItemType == GridItemType.AlternatingItem) { //Find Control to have tooltip RadButton btnThumbsUp = (RadButton)e.Item.FindControl("btnThumbsUp"); if (btnThumbsUp != null) { if (rttManager != null) { rttManager.TargetControls.Add(btnThumbsUp.ClientID, "LIKE", true); } } //Find Control to have tooltip RadButton btnThumbsDown = (RadButton)e.Item.FindControl("btnThumbsDown"); if (btnThumbsDown != null) { if (rttManager != null) { rttManager.TargetControls.Add(btnThumbsDown.ClientID, "DISLIKE", true); } } }}protected void grdSpecialOffers_ItemCreated(object sender, GridItemEventArgs e){ if (e.Item is GridDataItem) { HtmlImage imgPicture = (HtmlImage)e.Item.FindControl("imgPicture"); // For each item in the DataRowView, check if picture exist, else show default picture DataRowView drv = (DataRowView)e.Item.DataItem; if (drv != null) { string imageFile = drv["Picture"].ToString(); //Check of image file exist before rendering it on the rptDeals, otherwise replace it by the default.gif if (!File.Exists(Server.MapPath("/" + SessionContext.AppServerName + "/Data_Images/" + imageFile))) { drv["Picture"] = "default.gif"; imgPicture.Src = "../Data_Images/Offers/default.gif"; } } RadButton btnThumbsUp = (RadButton)e.Item.FindControl("btnThumbsUp"); RadButton btnThumbsDown = (RadButton)e.Item.FindControl("btnThumbsDown"); //For each item in Special Offer, Add the OfferId as COmmand Argument. btnThumbsUp.CommandArgument = e.Item.OwnerTableView.DataKeyValues[e.Item.ItemIndex]["OfferId"].ToString(); btnThumbsDown.CommandArgument = e.Item.OwnerTableView.DataKeyValues[e.Item.ItemIndex]["OfferId"].ToString(); if (drv["Rating"].ToString() == "3") { btnThumbsUp.Image.ImageUrl = "../Images/icoThumbsUpSelected.gif"; //btnThumbsUp.CssClass = "soThumbsSelected"; } else if (drv["Rating"].ToString() == "1") { btnThumbsDown.Image.ImageUrl = "../Images/icoThumbsDownSelected.gif"; //btnThumbsDown.CssClass = "soThumbsSelected"; } //Ajaxify the buttons so that they are refreshed by partial postbacks soRadAjaxManagerProxy.AjaxSettings.AddAjaxSetting(btnThumbsUp, btnThumbsUp); soRadAjaxManagerProxy.AjaxSettings.AddAjaxSetting(btnThumbsUp, btnThumbsDown); soRadAjaxManagerProxy.AjaxSettings.AddAjaxSetting(btnThumbsDown, btnThumbsUp); soRadAjaxManagerProxy.AjaxSettings.AddAjaxSetting(btnThumbsDown, btnThumbsDown); ////Find ThumbsUp Control to have tooltip - Used ItemDataBound Instead as a test //if (btnThumbsUp != null) //{ // if (rttManager != null) // { // rttManager.TargetControls.Add(btnThumbsUp.ClientID, "LIKE", true); // } //} ////Find ThumbsDown Control to have tooltip //if (btnThumbsDown != null) //{ // if (rttManager != null) // { // rttManager.TargetControls.Add(btnThumbsDown.ClientID, "DISLIKE", true); // } //} }}protected void rttManager_AjaxUpdate(object sender, ToolTipUpdateEventArgs e){ LiteralControl litControl = new LiteralControl(); if (e.Value == "LIKE") { litControl.Text = "LIKE this offer <br/>(Show me more offer like this)"; } else { litControl.Text = "DISLIKE this offer"; } e.UpdatePanel.ContentTemplateContainer.Controls.Add(litControl);}