or
DataTable datTabDatosDetalle = new DataTable(); if (ViewState["OrdCompraProdDetallesSub" + IdOrdenCompra + Skucode] == null) { datTabDatosDetalle = CCSMovimientoProductos.BuscarProdDetOrdenCompra_CEDIS(IdOrdenCompra, Skucode).Tables[0]; ViewState.Add("OrdCompraProdDetallesSub" + IdOrdenCompra + Skucode, datTabDatosDetalle); } else datTabDatosDetalle = (DataTable)ViewState["OrdCompraProdDetallesSub" + IdOrdenCompra + Skucode]; Telerik.Web.UI.GridTableView detailTable = new Telerik.Web.UI.GridTableView(radGriOrdComDetalles); Telerik.Web.UI.GridRelationFields relationFields_Id = new Telerik.Web.UI.GridRelationFields(); relationFields_Id.MasterKeyField = "Id"; relationFields_Id.DetailKeyField = "Id"; detailTable.ParentTableRelation.Add(relationFields_Id); Telerik.Web.UI.GridRelationFields relationFields_Skucode = new Telerik.Web.UI.GridRelationFields(); detailTable.ParentTableRelation.Add(relationFields_Skucode); relationFields_Skucode.MasterKeyField = "prodSkucode"; relationFields_Skucode.DetailKeyField = "prodSkucode"; radGriOrdComDetalles.MasterTableView.DetailTables.Add(detailTable); detailTable.Name = "tabDetail" + IdOrdenCompra + Skucode; detailTable.DataKeyNames = new string[] {"prodSkucode" }; detailTable.EnableViewState = true; detailTable.NoDetailRecordsText = ""; detailTable.Caption = "Detalle del producto Sku " + Skucode; detailTable.EditMode = Telerik.Web.UI.GridEditMode.InPlace; foreach (DataColumn dc in datTabDatosDetalle.Columns) { Telerik.Web.UI.GridBoundColumn campo = new Telerik.Web.UI.GridBoundColumn(); detailTable.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 == "Id") { campo.Visible = false; } if (dc.ColumnName == "prodSkucode") { campo.Visible = false; } if (dc.ColumnName == "Talla") { campo.ReadOnly = true; } } Telerik.Web.UI.GridEditCommandColumn campoEdit = new Telerik.Web.UI.GridEditCommandColumn(); detailTable.Columns.Add(campoEdit); campoEdit.UniqueName = "colEdit"; campoEdit.ButtonType = Telerik.Web.UI.GridButtonColumnType.LinkButton; campoEdit.EditText = "Editar"; campoEdit.UpdateText = "Actualizar"; campoEdit.CancelText = "Cancelar"; detailTable.DataSource = datTabDatosDetalle; detailTable.Rebind(); radGriOrdComDetalles.Rebind();var _menu = $find('<%=Menu.ClientID%>');Hello,
I've places a Target-Source listbox on my User Registration form. Transferring items between de listboxes is no problem but when I commit the data with the Create User button I receive a 'Index was out of range' error.
Any idea?
See attached code.
<%@ Page Title="Register" Language="C#" MasterPageFile="~/Site.master" AutoEventWireup="true" CodeBehind="Register.aspx.cs" Inherits="YBS.Account.Register" %> <%@ Register assembly="Telerik.Web.UI" namespace="Telerik.Web.UI" tagprefix="telerik" %> <asp:Content ID="HeaderContent" runat="server" ContentPlaceHolderID="HeadContent"> </asp:Content> <asp:Content ID="BodyContent" runat="server" ContentPlaceHolderID="MainContent"> <asp:CreateUserWizard ID="RegisterUser" runat="server" EnableViewState="False" OnCreatedUser="RegisterUser_CreatedUser"> <LayoutTemplate> <asp:PlaceHolder ID="wizardStepPlaceholder" runat="server"></asp:PlaceHolder> <asp:PlaceHolder ID="navigationPlaceholder" runat="server"></asp:PlaceHolder> </LayoutTemplate> <WizardSteps> <asp:CreateUserWizardStep ID="RegisterUserWizardStep" runat="server"> <ContentTemplate> <span class="failureNotification"> <asp:Literal ID="ErrorMessage" runat="server"></asp:Literal> </span> <asp:ValidationSummary ID="RegisterUserValidationSummary" runat="server" CssClass="failureNotification" ValidationGroup="RegisterUserValidationGroup"/> <div class="accountInfo"> <fieldset class="register"> <legend><h2>Create a New Account</h2></legend> <table runat="server" id="tblRegister" style="width:100%" border="0"> <tr> <td align="right" style="width:125px"> <asp:Label ID="NameLabel" runat="server" AssociatedControlID="tbName">Name:</asp:Label> </td> <td align="left"> <asp:TextBox ID="tbName" runat="server" CssClass="textEntry"></asp:TextBox> <asp:RequiredFieldValidator ID="NameRequired" runat="server" ControlToValidate="tbName" CssClass="failureNotification" ErrorMessage="Name is required." ToolTip="Name is required." ValidationGroup="RegisterUserValidationGroup">*</asp:RequiredFieldValidator> </td> </tr> <tr> <td align="right" style="width:125px"> <asp:Label ID="UserNameLabel" runat="server" AssociatedControlID="UserName">User Name:</asp:Label> </td> <td align="left"> <asp:TextBox ID="UserName" runat="server" CssClass="textEntry"></asp:TextBox> <asp:RequiredFieldValidator ID="UserNameRequired" runat="server" ControlToValidate="UserName" CssClass="failureNotification" ErrorMessage="User Name is required." ToolTip="User Name is required." ValidationGroup="RegisterUserValidationGroup">*</asp:RequiredFieldValidator> </td> </tr> <tr> <td align="right" style="width:125px"> <asp:Label ID="EmailLabel" runat="server" AssociatedControlID="Email">E-mail:</asp:Label> </td> <td align="left"> <asp:TextBox ID="Email" runat="server" CssClass="textEntry"></asp:TextBox> <asp:RequiredFieldValidator ID="EmailRequired" runat="server" ControlToValidate="Email" CssClass="failureNotification" ErrorMessage="E-mail is required." ToolTip="E-mail is required." ValidationGroup="RegisterUserValidationGroup">*</asp:RequiredFieldValidator> </td> </tr> <tr> <td align="right" style="width:125px"> <asp:Label ID="PasswordLabel" runat="server" AssociatedControlID="Password">Password:</asp:Label> </td> <td align="left"> <asp:TextBox ID="Password" runat="server" CssClass="passwordEntry" TextMode="Password"></asp:TextBox> <asp:RequiredFieldValidator ID="PasswordRequired" runat="server" ControlToValidate="Password" CssClass="failureNotification" ErrorMessage="Password is required." ToolTip="Password is required." ValidationGroup="RegisterUserValidationGroup">*</asp:RequiredFieldValidator> <i>(Minimum of <%= Membership.MinRequiredPasswordLength %> characters required!)</i> </td> </tr> <tr> <td align="right" style="width:125px"> <asp:Label ID="ConfirmPasswordLabel" runat="server" AssociatedControlID="ConfirmPassword">Confirm Password:</asp:Label> </td> <td align="left"> <asp:TextBox ID="ConfirmPassword" runat="server" CssClass="passwordEntry" TextMode="Password"></asp:TextBox> <asp:RequiredFieldValidator ControlToValidate="ConfirmPassword" CssClass="failureNotification" Display="Dynamic" ErrorMessage="Confirm Password is required." ID="ConfirmPasswordRequired" runat="server" ToolTip="Confirm Password is required." ValidationGroup="RegisterUserValidationGroup">*</asp:RequiredFieldValidator> <asp:CompareValidator ID="PasswordCompare" runat="server" ControlToCompare="Password" ControlToValidate="ConfirmPassword" CssClass="failureNotification" Display="Dynamic" ErrorMessage="The Password and Confirmation Password must match." ValidationGroup="RegisterUserValidationGroup">*</asp:CompareValidator> </td> </tr> <tr> <td align="right" style="width:125px"> </td> <td align="left"> <table id="tblCompany" runat="server"> <tr> <td valign="top"> <telerik:RadListBox ID="rlbSourceCompany" runat="server" Skin="Windows7" AllowTransfer="True" TransferToID="rlbTargetCompany" Width="275px" Height="200px" DataKeyField="CompanyID" DataSourceID="SqlDSCompany" DataTextField="Company"> <HeaderTemplate> <center><asp:Label ID="lblSourceCompany" runat="server" Text="All companies" Font-Bold="true" /></center> </HeaderTemplate> </telerik:RadListBox> </td> <td valign="top"> <telerik:RadListBox ID="rlbTargetCompany" runat="server" Skin="Windows7" Width="250px" Height="200px"> <HeaderTemplate> <center><asp:Label ID="lblTargetCompany" runat="server" Text="Selected companies" Font-Bold="true" /></center> </HeaderTemplate> </telerik:RadListBox> </td> </tr> </table> </td> </tr> </table> </fieldset> <p class="submitButton"> <asp:Button ID="CreateUserButton" runat="server" CommandName="MoveNext" Text="Create User" ValidationGroup="RegisterUserValidationGroup"/> </p> </div> </ContentTemplate> <CustomNavigationTemplate> </CustomNavigationTemplate> </asp:CreateUserWizardStep> <asp:CompleteWizardStep runat="server"></asp:CompleteWizardStep> </WizardSteps> </asp:CreateUserWizard> <asp:SqlDataSource ID="SqlDSCompany" runat="server" ConnectionString="<%$ ConnectionStrings:Yosi %>" SelectCommand="SELECT C.CompanyID, (C.Description + ' (' + D.Description + ')') AS Company FROM SYS_Domain D INNER JOIN SYS_Company AS C ON D.DomainID = C.DomainID ORDER BY D.Code, C.Code "></asp:SqlDataSource> </asp:Content>using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.Web.Security; using System.Web.UI; using System.Web.UI.WebControls; using System.Collections.Specialized; using System.Data; using System.Data.SqlClient; using System.Text; using System.Configuration; using YBS.Membership; using YBS.Manager; using YBS.SQLDAL; using YBS.SQLDAL.Entities; using Telerik.Web; using Telerik.Web.UI; namespace YBS.Account { public partial class Register : System.Web.UI.Page { private YBS.Manager.YBSBaseFunctions hdlBaseFunctions = new Manager.YBSBaseFunctions(); public static String ConnString = ConfigurationManager.ConnectionStrings["Yosi"].ConnectionString; protected void Page_Load(object sender, EventArgs e) { RegisterUser.ContinueDestinationPageUrl = Request.QueryString["ReturnUrl"]; SetObjectProperties(); } protected void RegisterUser_CreatedUser(object sender, EventArgs e) { TextBox tbName = (TextBox)RegisterUserWizardStep.ContentTemplateContainer.FindControl("tbName"); FormsAuthentication.SetAuthCookie(RegisterUser.UserName, false /* createPersistentCookie */); int _userID = new SYS_UserDAL().GetUserID(RegisterUser.UserName); hdlBaseFunctions.SetCurrentUserID(this.Context, _userID); if (tbName != null) { new YBSMembershipProvider().ChangeName(RegisterUser.UserName, tbName.Text); } SaveUserCompany(_userID); string continueUrl = RegisterUser.ContinueDestinationPageUrl; if (String.IsNullOrEmpty(continueUrl)) { continueUrl = "~/"; } Response.Redirect(continueUrl); } protected override void OnInit(EventArgs e) { base.OnInit(e); if (!Page.IsPostBack) { string sSQLCompany = ""; sSQLCompany += "SELECT C.CompanyID, (C.Description + ' (' + D.Description + ')') AS Company "; sSQLCompany += "FROM SYS_Domain D "; sSQLCompany += "INNER JOIN SYS_Company AS C ON D.DomainID = C.DomainID "; sSQLCompany += "ORDER BY D.Code, C.Code"; SqlDSCompany.SelectCommandType = SqlDataSourceCommandType.Text; SqlDSCompany.SelectCommand = sSQLCompany; } } protected override void OnLoad(EventArgs e) { base.OnLoad(e); } protected void SetObjectProperties() { RadListBox rlbSourceCompany = (RadListBox)RegisterUserWizardStep.ContentTemplateContainer.FindControl("rlbSourceCompany"); RadListBox rlbTargetCompany = (RadListBox)RegisterUserWizardStep.ContentTemplateContainer.FindControl("rlbTargetCompany"); if (rlbSourceCompany != null) { rlbSourceCompany.Skin = "Windows7"; rlbSourceCompany.SelectionMode = ListBoxSelectionMode.Multiple; rlbSourceCompany.AllowTransferOnDoubleClick = true; rlbSourceCompany.Header.Visible = true; rlbSourceCompany.AllowTransferDuplicates = false; rlbSourceCompany.AllowReorder = false; } if (rlbTargetCompany != null) { rlbTargetCompany.Skin = "Windows7"; rlbTargetCompany.AllowReorder = false; rlbTargetCompany.AllowDelete = false; } } protected void SaveUserCompany(int iUserID) { /* RadListBox rlbTargetCompany = (RadListBox)RegisterUserWizardStep.ContentTemplateContainer.FindControl("rlbTargetCompany"); if (rlbTargetCompany.Items.Count > 0) { foreach (RadListBoxItem rlbItem in rlbTargetCompany.Items) { SYS_UserCompanyDAL.SYS_UserCompany _objUserCompany = new SYS_UserCompanyDAL.SYS_UserCompany(); _objUserCompany.UserID = iUserID; _objUserCompany.CompanyID = Convert.ToInt32(rlbItem.DataKey); } } */ } } } .RadGrid_Default .rgHeader { background:#ffffff repeat-x url('/images/GridHeader-BG.gif'); } .RadGrid_Default th.rgSorted { background:#ffffff repeat-x url('/images/GridHeader-BG.gif');!important; background-color:#ffffff;
} 