<%@ Control Language="vb" AutoEventWireup="false" CodeBehind="AktivitetsListe.ascx.vb" Inherits="emtepv3_5.WEB.UC.AktivitetsListe" %> <telerik:RadScriptBlock ID="RadScriptBlock1" runat="server"> <script type="text/javascript"> function myUserControlClickHandler() { $find("<%= RadAjaxManager.GetCurrent(Page).ClientID %>").ajaxRequest("content"); } function ShowEditForm(id, rowIndex, tp) { var grid = $find("<%= RadGrid_AKtivitetsListe.ClientID %>"); var rowControl = grid.get_masterTableView().get_dataItems()[rowIndex].get_element(); grid.get_masterTableView().selectItem(rowControl, true); if (tp == "copy") { WindowOpen(1000, 600, "../UI/AktDetaljer/AktivitetsCopy.aspx?AktID=" + id, "eMTEP-DK - Aktivitetsdetaljer"); return false; } else { WindowOpen(1000, 600, "../UI/AktDetaljer/AktivitetsDetaljer.aspx?AktID=" + id, "eMTEP-DK - Aktivitetsdetaljer"); return false; } } function ShowInsertForm() { WindowOpen(1000, 600, "../UI/AktDetaljer/AktivitetsDetaljer.aspx?AktID=0", "eMTEP-DK - Aktivitetsdetaljer"); return false; } function refreshGrid(arg) { if (!arg) { $find("<%= RadAjaxManager.GetCurrent(Page).ClientID %>").ajaxRequest("Rebind"); } else { $find("<%= RadAjaxManager.GetCurrent(Page).ClientID %>").ajaxRequest("RebindAndNavigate"); } } function RowDblClick(sender, eventArgs) { WindowOpen(1000, 600, "../UI/AktDetaljer/AktivitetsDetaljer.aspx?AktID=" + eventArgs.getDataKeyValue("AktivitetsID"), "eMTEP-DK - Aktivitetsdetaljer"); } function WindowOpen(Width, Height, Url, HeaderText) { var oWin = window.radopen(Url, HeaderText); oWin.set_title(HeaderText); oWin.setSize(Width, Height); oWin.MoveTo(10, 100); oWin.set_behaviors(Telerik.Web.UI.WindowBehaviors.Close); oWin.set_visibleStatusbar(false); // oWin.add_close(OnClientClose); return false; } // function OnClientClose(sender, eventArgs) { // $find("<%=RadGrid_AKtivitetsListe.ClientID %>").get_masterTableView().rebind(); // } </script> </telerik:RadScriptBlock> <telerik:RadAjaxManagerProxy ID="RadAjaxManagerProxy1" runat="server"> <AjaxSettings> <telerik:AjaxSetting AjaxControlID="RadAjaxManagerProxy1"> <UpdatedControls> <telerik:AjaxUpdatedControl ControlID="RadGrid_AKtivitetsListe" /> </UpdatedControls> </telerik:AjaxSetting> <telerik:AjaxSetting AjaxControlID="RadGrid_AKtivitetsListe"> <UpdatedControls> <telerik:AjaxUpdatedControl ControlID="RadGrid_AKtivitetsListe" /> </UpdatedControls> </telerik:AjaxSetting> </AjaxSettings> </telerik:RadAjaxManagerProxy> <telerik:RadAjaxLoadingPanel ID="RadAjaxLoadingPanel1" Runat="server" Skin="Office2007" BackgroundPosition="Center"> </telerik:RadAjaxLoadingPanel> <br /> <telerik:RadGrid ID="RadGrid_AKtivitetsListe" runat="server" Skin="Office2007" AutoGenerateColumns="False" GridLines="None" Height="600px"> <MasterTableView DataKeyNames="AktivitetsID" ClientDataKeyNames="AktivitetsID" CommandItemDisplay="Top"> <CommandItemSettings ExportToPdfText="Export to Pdf"></CommandItemSettings> <Columns> <telerik:GridImageColumn DataType="System.String" DataImageUrlFields="AktivitetsStatusUrl" DataImageUrlFormatString="~/images/{0}" ImageAlign="Middle" UniqueName="AktStatusCol"> <HeaderStyle Width="40px" /> </telerik:GridImageColumn> <telerik:GridBoundColumn DataField="AktivitetsPeriode" UniqueName="AktivitetsPeriode"> </telerik:GridBoundColumn> <telerik:GridBoundColumn DataField="AktivitetsNavn" UniqueName="AktivitetsNavn"> </telerik:GridBoundColumn> <telerik:GridBoundColumn DataField="AktivitetsSted" UniqueName="AktivitetsSted"> </telerik:GridBoundColumn> <telerik:GridBoundColumn DataField="AktivitesRegNr" UniqueName="AktivitesRegNr"> </telerik:GridBoundColumn> <telerik:GridTemplateColumn UniqueName="EditCol"> <ItemTemplate> <asp:ImageButton ID="ImgEdit" runat="server" /> </ItemTemplate> </telerik:GridTemplateColumn> <telerik:GridTemplateColumn UniqueName="CopyCol"> <ItemTemplate> <asp:ImageButton ID="ImgCopy" runat="server" /> </ItemTemplate> </telerik:GridTemplateColumn> <telerik:GridButtonColumn ButtonType="ImageButton" CommandName="Delete" Text="Delete" UniqueName="DeleteCol"> </telerik:GridButtonColumn> </Columns> <CommandItemTemplate> <telerik:RadButton ID="RadButtonAddNew" runat="server" Skin="Office2007"></telerik:RadButton> </CommandItemTemplate> </MasterTableView> <ClientSettings> <Selecting AllowRowSelect="true" /> <ClientEvents OnRowDblClick="RowDblClick" /> <Scrolling AllowScroll="True" UseStaticHeaders="True" /> </ClientSettings> <HeaderContextMenu EnableImageSprites="True" CssClass="GridContextMenu GridContextMenu_Office2007"></HeaderContextMenu> </telerik:RadGrid> <telerik:RadWindowManager ID="RadWindowManager1" runat="server" EnableShadow="true"> <Windows> <telerik:RadWindow ID="AktDetaljerWindow" runat="server" Title="eMTEP-DK" Height="320px" Width="510px" Left="350px" ReloadOnShow="true" ShowContentDuringLoad="false" Modal="true" /> </Windows> </telerik:RadWindowManager>Imports emtepv3_CodeTier.BL Imports Telerik.Web.UI Imports emtepv3_5.WEB.CL Namespace UC Public Class AktivitetsListe Inherits clsHandle Private DateFra As DateTime Private DateTil As DateTime Private SObj As String Protected Sub Page_Load(ByVal sender As Object, ByVal e As EventArgs) Dim manager As RadAjaxManager = RadAjaxManager.GetCurrent(Page) AddHandler manager.AjaxRequest, AddressOf manager_AjaxRequest End Sub Protected Sub manager_AjaxRequest(ByVal sender As Object, ByVal e As Telerik.Web.UI.AjaxRequestEventArgs) 'handle the manager AjaxRequest event here RadGrid_AKtivitetsListe.Rebind() End Sub Protected Sub Page_OnPassData(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.OnPassData 'siden åbnes og data overføres 'DateFra = FraDato = Me.DatoFra 'DateTil = TilDato = Me.DatoTil ' SObj = SoegTxt = Me.SearchObj End Sub Protected Sub RadGrid_AKtivitetsListe_NeedDataSource(ByVal sender As Object, ByVal e As Telerik.Web.UI.GridNeedDataSourceEventArgs) Handles RadGrid_AKtivitetsListe.NeedDataSource 'grid fyldes med data Dim gd As New GrundData gd.GrundDataDatoFra = FraDato gd.GrundDataDatoTil = TilDato MsgBox(FraDato) Dim br As New Bruger br.BrugerFiinAdresse = br.LogonBruger br.BrugerByFiinAdress() Dim akt As New Aktiviteter If SoegTxt = "ALL" Then akt.AktiviteterSelectByBrugerID(br, gd) Else Dim st As New SearchText st.SoegeTekst = SoegTxt akt.AktiviteterSelectByBrugerObjekter(gd, st, br) End If Dim culist As List(Of Aktiviteter) = akt.AktivitetsCollection StandardTexter.LoadGridTexter(RadGrid_AKtivitetsListe) RadGrid_AKtivitetsListe.DataSource = culist End Sub Protected Sub RadGrid1_ItemCreated(ByVal sender As Object, ByVal e As GridItemEventArgs) Handles RadGrid_AKtivitetsListe.ItemCreated 'aktioner når grid dannes If TypeOf e.Item Is GridHeaderItem Then Dim header As GridHeaderItem = CType(e.Item, GridHeaderItem) header("AktivitetsPeriode").Text = StandardTexter.SetFaellesTexter("Periode") header("AktivitetsNavn").Text = StandardTexter.SetFaellesTexter("Navn") header("AktivitetsSted").Text = StandardTexter.SetFaellesTexter("Sted") header("AktivitesRegNr").Text = StandardTexter.SetFaellesTexter("RegNr") End If 'afhængig af hvilket menupunkt siden kaldes fra vises forskellige kontroller i gridet If TypeOf e.Item Is GridDataItem Then Dim ImgEd As ImageButton = DirectCast(e.Item.FindControl("ImgEdit"), ImageButton) ImgEd.ImageUrl = "~/images/Edit.gif" ImgEd.Attributes("onclick") = [String].Format("return ShowEditForm('{0}','{1}', 'Akt');", e.Item.OwnerTableView.DataKeyValues(e.Item.ItemIndex)("AktivitetsID"), e.Item.ItemIndex) Dim ImgCopy As ImageButton = DirectCast(e.Item.FindControl("ImgCopy"), ImageButton) ImgCopy.ImageUrl = "~/images/Copy.gif" ImgCopy.Attributes("onclick") = [String].Format("return ShowEditForm('{0}','{1}', 'copy');", e.Item.OwnerTableView.DataKeyValues(e.Item.ItemIndex)("AktivitetsID"), e.Item.ItemIndex) End If If TypeOf e.Item Is GridCommandItem Then 'tilføj ny post knap får funktioner Dim RadImgBtn As RadButton = DirectCast(e.Item.FindControl("RadButtonAddNew"), RadButton) RadImgBtn.Text = StandardTexter.SetGridHeaderText("RadGrid_AddNewText") RadImgBtn.Icon.PrimaryIconUrl = "~/images/AddRecord.gif" RadImgBtn.Attributes("onclick") = [String].Format("return ShowInsertForm();") End If End Sub Private Property FraDato() As DateTime Get Return CDate(ViewState("FraDato")) End Get Set(ByVal value As DateTime) ViewState("FraDato") = value End Set End Property Private Property TilDato() As DateTime Get Return CDate(ViewState("TilDato")) End Get Set(ByVal value As DateTime) ViewState("TilDato") = value End Set End Property Private Property SoegTxt() As String Get Return CStr(ViewState("SoegTxt")) End Get Set(ByVal value As String) ViewState("SoegTxt") = value End Set End Property End Class End Namespace<%@ Page Language="vb" AutoEventWireup="false" CodeBehind="AktivitetsDetaljer.aspx.vb" Inherits="emtepv3_5.WEB.UI.AktivitetsDetaljer" %> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head runat="server"> <title></title> <link href="../../emtepStyle.css" rel="stylesheet" type="text/css" /> </head> <body> <form id="form1" runat="server"> <div align="right"> <asp:ImageButton ID="ImgBtnClose" runat="server" ImageUrl="~/images/Stop.gif" /> </div> <telerik:RadScriptBlock ID="RadScriptBlock1" runat="server"> <script type="text/javascript"> function onTabSelecting(sender, args) { if (args.get_tab().get_pageViewID()) { args.get_tab().set_postBack(false); } } function CloseAndRebind(args) { GetRadWindow().BrowserWindow.refreshGrid(args); GetRadWindow().close(); } function GetRadWindow() { var oWindow = null; if (window.radWindow) oWindow = window.radWindow; //Will work in Moz in all cases, including clasic dialog else if (window.frameElement.radWindow) oWindow = window.frameElement.radWindow; //IE (and Moz as well) return oWindow; } </script> </telerik:RadScriptBlock> <telerik:RadScriptManager ID="RadScriptManager1" Runat="server"> </telerik:RadScriptManager> <telerik:RadFormDecorator ID="RadFormDecorator1" Runat="server" Skin="Office2007" /> <telerik:RadAjaxManager ID="RadAjaxManager1" runat="server"> <AjaxSettings> <telerik:AjaxSetting AjaxControlID="RadTabStripAktivitet"> <UpdatedControls> <telerik:AjaxUpdatedControl ControlID="RadTabStripAktivitet" /> <telerik:AjaxUpdatedControl ControlID="RadMultiPageAktivitet" LoadingPanelID="LoadingPanel1" /> </UpdatedControls> </telerik:AjaxSetting> <telerik:AjaxSetting AjaxControlID="RadMultiPageAktivitet"> <UpdatedControls> <telerik:AjaxUpdatedControl ControlID="RadMultiPageAktivitet" LoadingPanelID="LoadingPanel1" /> </UpdatedControls> </telerik:AjaxSetting> </AjaxSettings> </telerik:RadAjaxManager> <telerik:RadAjaxLoadingPanel ID="RadAjaxLoadingPanel1" Runat="server" Skin="Office2007" BackgroundPosition="Center"> </telerik:RadAjaxLoadingPanel> <telerik:RadTabStrip ID="RadTabStripAktivitet" runat="server" Skin="Office2007" OnClientTabSelecting="onTabSelecting" MultiPageID="RadMultiPageAktivitet" SelectedIndex="0"> </telerik:RadTabStrip> <telerik:RadMultiPage ID="RadMultiPageAktivitet" Runat="server" SelectedIndex="0" CssClass="AktDetaljeTabSiden"> </telerik:RadMultiPage> </form> </body> </html>Imports emtepv3_5.WEB.CL Imports emtepv3_CodeTier.BL Imports Telerik.Web.UI Namespace UI Public Class AktivitetsDetaljer Inherits System.Web.UI.Page Dim IsNewPageView As Boolean = False Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load If Not Me.Page.IsPostBack Then BindRadTab() If CInt(Request("AktID")) <> 0 Then Select Case StandardTexter.BrugerLanguage Case "DA" AddPageView(RadTabStripAktivitet.FindTabByText("Grunddata")) Case "EN" AddPageView(RadTabStripAktivitet.FindTabByText("Maindata")) End Select Else Select Case StandardTexter.BrugerLanguage Case "DA" AddPageView(RadTabStripAktivitet.FindTabByText("Opret ny aktivitet")) Case "EN" AddPageView(RadTabStripAktivitet.FindTabByText("Add new activity")) End Select End If End If End Sub Protected Sub BindRadTab() Dim St As New SearchText If CInt(Request("AktID")) = 0 Then St.SoegeTekst = 0 Else Dim gd As New GrundData gd.GrundDataID = Request("AktID") gd.GrundDataById() Dim Sgtxt As String = gd.GrundDataAktArt & "," Sgtxt = Sgtxt & "1" St.SoegeTekst = Sgtxt End If Dim akttab As New AktivitetsDetaljeTab akttab.AktDetaljeTabGetByAktType(St) Dim cuList As List(Of AktivitetsDetaljeTab) = akttab.AktDetaljeTabCollection RadTabStripAktivitet.DataFieldID = "AktDetaljeTabID" Select Case StandardTexter.BrugerLanguage Case "DA" RadTabStripAktivitet.DataTextField = "AktDetaljeTabTekstDA" Case "EN" RadTabStripAktivitet.DataTextField = "AktDetaljeTabTekstEN" End Select RadTabStripAktivitet.DataSource = cuList RadTabStripAktivitet.DataBind() End Sub Private Sub AddPageView(ByVal tab As RadTab) Dim pageView As RadPageView = New RadPageView pageView.ID = tab.Text RadMultiPageAktivitet.PageViews.Add(pageView) tab.PageViewID = pageView.ID End Sub Protected Sub RadTabStrip1_TabClick(ByVal sender As Object, ByVal e As RadTabStripEventArgs) Handles RadTabStripAktivitet.TabClick AddPageView(e.Tab) e.Tab.PageView.Selected = True End Sub Protected Sub RadMultiPage1_PageViewCreated(ByVal sender As Object, ByVal e As Telerik.Web.UI.RadMultiPageEventArgs) Handles RadMultiPageAktivitet.PageViewCreated Dim adt As New AktivitetsDetaljeTab adt.AktDetaljeTabTekstDA = e.PageView.ID adt.AktDetaljeTabGetPageName() Dim userControlName As String = "~/UC/AktFaner/" + adt.AktDetaljeTabPage + ".ascx" Dim userControl As Control = Page.LoadControl(userControlName) userControl.ID = e.PageView.ID & "_Grunddata" e.PageView.Controls.Add(userControl) End Sub Protected Sub ImgBtnClose_Click(ByVal sender As Object, ByVal e As System.Web.UI.ImageClickEventArgs) Handles ImgBtnClose.Click ClientScript.RegisterStartupScript(Page.[GetType](), "mykey", "CloseAndRebind();", True) End Sub End Class End NamespaceI have a page that when auto or partial post back happens, focus is set to the address bar rather than the next control. The interesting thing is that when I put an alert in my RadScriptBlock, after the OK is clicked, focus goes to the correct control -or- if I put in an invalid location, focus is returned to the ExpLocation control & when a correct location is input the second time, the tab order/focus command works correctly (see code below).
That has this up top
<telerik:RadAjaxManager ID="RadAjaxManager1" runat="server">
<AjaxSettings>
<telerik:AjaxSetting AjaxControlID="RadAjaxPanel1">
<UpdatedControls>
<telerik:AjaxUpdatedControl ControlID="RadAjaxPanel1" LoadingPanelID="RadAjaxLoadingPanel1" />
</UpdatedControls>
</telerik:AjaxSetting>
<telerik:AjaxSetting EventName="OnTextChanged" AjaxControlID="RadNumericTextBox_GLm">
<UpdatedControls>
<telerik:AjaxUpdatedControl ControlID="RadNumericTextBox_GLm" LoadingPanelID="RadAjaxLoadingPanel1" />
<telerik:AjaxUpdatedControl ControlID="lblGlCodeErrorMessage" LoadingPanelID="RadAjaxLoadingPanel1" />
</UpdatedControls>
</telerik:AjaxSetting>
<telerik:AjaxSetting EventName="OnTextChanged" AjaxControlID="RadNumericTextBox_ExpLocation">
<UpdatedControls>
<telerik:AjaxUpdatedControl ControlID="lblGlCodeErrorMessage" LoadingPanelID="RadAjaxLoadingPanel1" />
<telerik:AjaxUpdatedControl ControlID="RadNumericTextBox_ExpLocation" LoadingPanelID="RadAjaxLoadingPanel1" />
</UpdatedControls>
</telerik:AjaxSetting>
</AjaxSettings>
</telerik:RadAjaxManager>
<telerik:RadNumericTextBox ID="RadNumericTextBox_ExpLocation" runat="server" Width="20px" AutoPostBack="true"
MaxLength="3" NumberFormat-AllowRounding="False" Type="Number" NumberFormat-KeepTrailingZerosOnFocus="True"
IncrementSettings-InterceptMouseWheel="false" OnTextChanged="LocationCheck_OnTextChanged" TabIndex="101">
<NumberFormat DecimalDigits="0" GroupSeparator="" AllowRounding="false" KeepNotRoundedValue="false" />
protected void LocationCheck_OnTextChanged(object sender, System.EventArgs e)
{
var cmdText = "SELECT LMLOC FROM DBMOTO..XALOCNP WHERE " +
" LMLOC = @ExpLocation ";
using (var conn = new SqlConnection(ConfigurationManager.ConnectionStrings["MAINConnectionString"].ToString()))
using (var cmd = new SqlCommand(cmdText, conn))
{
cmd.Parameters.Add(new SqlParameter("@ExpLocation", RadNumericTextBox_ExpLocation.Text));
conn.Open();
SqlDataReader dr = cmd.ExecuteReader();
if (dr.HasRows)
{
Session["ValidGL"] = false;
lblGlCodeErrorMessage.Visible = false;
lblGlCodeErrorMessage.Text = "Good Location";
btnAddItem.Enabled = false;
btnDone.Enabled = false;
RadNumericTextBox_GLm.Focus();
}
else
{
lblGlCodeErrorMessage.Visible = true;
lblGlCodeErrorMessage.Text = "Invalid/Inactive Location";
btnAddItem.Enabled = false;
btnDone.Enabled = false;
RadNumericTextBox_ExpLocation.Focus();
}
}
}
<
radG:RadGrid ID="rad" runat="server" Skin="Windows" Width="600px"
HorizontalAlign="NotSet" OnNeedDataSource="rad_NeedDataSource" OnInsertCommand="rad_InsertCommand" OnDeleteCommand="rad_DeleteCommand" OnUpdateCommand="rad_UpdateCommand">
<MasterTableView AutoGenerateColumns="False" DataKeyNames="Id" EditMode="InPlace" CommandItemDisplay="Bottom">
<Columns>
<radG:GridTemplateColumn HeaderText="Attachment" UniqueName="TemplateColumn">
<ItemTemplate>
<asp:Label runat="server" Text='<%# DataBinder.Eval(Container, "DataItem.Name") %>'></asp:Label>
</ItemTemplate>
<EditItemTemplate>
<asp:FileUpload ID="fileUpload" runat="server" />
</EditItemTemplate>
</radG:GridTemplateColumn>
<radG:GridTemplateColumn UniqueName="TemplateColumn">
<ItemTemplate>
<asp:HyperLink ID="HyperLink1" runat="server" Target="_blank" NavigateUrl='<%# DataBinder.Eval(Container, "DataItem.Id", "Attachment.axd?Id={0}") %>'>View</asp:HyperLink>
<asp:LinkButton ID="LinkButton2" runat="server" Text="Edit" CommandName="Edit" />
<asp:LinkButton ID="LinkButton3" runat="server" Text="Delete" CommandName="DeleteCommand" />
</ItemTemplate>
<EditItemTemplate>
<asp:LinkButton ID="LinkButton5" runat="server" Text="Update" CommandName="Update" Visible='<%# !rad.MasterTableView.IsItemInserted %>' />
<asp:LinkButton ID="LinkButton6" runat="server" Text="Insert" CommandName="PerformInsert" Visible='<%# rad.MasterTableView.IsItemInserted %>' />
<asp:LinkButton ID="LinkButton4" runat="server" Text="Cancel" CommandName="Cancel" />
</EditItemTemplate>
<ItemStyle Wrap="False" />
</radG:GridTemplateColumn>
</Columns>
<CommandItemTemplate>
<asp:LinkButton ID="btnAdd" Text="Add New" CommandName="InitInsert" Runat="server" Visible='<%# !rad.IsItemInserted %>'></asp:LinkButton>
</CommandItemTemplate>
<EditFormSettings>
<EditColumn FilterImageUrl="" SortAscImageUrl="" SortDescImageUrl="">
</EditColumn>
</EditFormSettings>
<ExpandCollapseColumn FilterImageUrl="" SortAscImageUrl="" SortDescImageUrl="" Visible="False">
<HeaderStyle Width="19px" />
</ExpandCollapseColumn>
<RowIndicatorColumn Visible="False">
<HeaderStyle Width="20px" />
</RowIndicatorColumn>
</MasterTableView>
</
radG:RadGrid>
Thank U in Advance
Mr.Perfect