Hallo, > > Ich habe zwei ListBoxen, welche ich mit Daten aus der DB lade. > �ber zwei Button soll man Werte von der linken in die rechte Liste > verschieben k�nnen. Bei jedem Buttonclick sollen die ausgew�hlten Werte > gleich in die DB gespeichert werden und danach sollen beide Listen neu > geladen werden. VisualStudio hat mir die Methode f�r den einf�gen-click > wie folgt erstellt: > > Private Sub einfuegen_Click(ByVal sender As System.Object, ByVal e As > System.EventArgs) Handles einfuegen.Click > >
einen Teil der L�sung findest Du untenstehend, entscheidend sind die beiden Funktionen Button1_Click() und Button2_Click(). Anstelle hier die ListItems direkt zu verschieben (ist halt etwas schlecht zu simulieren ohne echte DB-Daten), mu�t Du Deine DataSources, also die DB mit den verschobenen Werten updaten und danach wieder neu lesen und an die Boxen zuweisen. Das laufende Sample findest Du unter http://alexonasp.net/samples/correspondinglistboxes/Default.aspx (nat�rlich ohne Sortierung weil ja keine DB dahintersteht) Gruss Alex <%@ Page language="c#" Codebehind="default.aspx.cs" AutoEventWireup="false" Inherits="BlogSamples.CorrespondingListBoxes._default" %> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" > <HTML> <HEAD> <title>default</title> <meta name="GENERATOR" Content="Microsoft Visual Studio .NET 7.1"> <meta name="CODE_LANGUAGE" Content="C#"> <meta name=vs_defaultClientScript content="JavaScript"> <meta name=vs_targetSchema content="http://schemas.microsoft.com/intellisense/ie5"> </HEAD> <body MS_POSITIONING="GridLayout"> <form id="Form1" method="post" runat="server"> <asp:ListBox id="ListBox1" style="Z-INDEX: 101; LEFT: 18px; POSITION: absolute; TOP: 21px" runat="server"></asp:ListBox> <asp:ListBox id="ListBox2" style="Z-INDEX: 102; LEFT: 159px; POSITION: absolute; TOP: 21px" runat="server"></asp:ListBox> <asp:Button id="Button1" style="Z-INDEX: 103; LEFT: 127px; POSITION: absolute; TOP: 28px" runat="server" Text=">"></asp:Button> <asp:Button id="Button2" style="Z-INDEX: 104; LEFT: 126px; POSITION: absolute; TOP: 61px" runat="server" Text="<"></asp:Button> </form> </body> </HTML> using System; using System.Collections; using System.ComponentModel; using System.Data; using System.Drawing; using System.Web; using System.Web.SessionState; using System.Web.UI; using System.Web.UI.WebControls; using System.Web.UI.HtmlControls; namespace BlogSamples.CorrespondingListBoxes { /// <summary> /// Zusammenfassung f�r _default. /// </summary> public class _default : System.Web.UI.Page { protected System.Web.UI.WebControls.ListBox ListBox1; protected System.Web.UI.WebControls.ListBox ListBox2; protected System.Web.UI.WebControls.Button Button2; protected System.Web.UI.WebControls.Button Button1; private void Page_Load(object sender, System.EventArgs e) { if(!Page.IsPostBack) { BindData(); } } #region Vom Web Form-Designer generierter Code override protected void OnInit(EventArgs e) { // // CODEGEN: Dieser Aufruf ist f�r den ASP.NET Web Form-Designer erforderlich. // InitializeComponent(); base.OnInit(e); } /// <summary> /// Erforderliche Methode f�r die Designerunterst�tzung. /// Der Inhalt der Methode darf nicht mit dem Code-Editor ge�ndert werden. /// </summary> private void InitializeComponent() { this.Button1.Click += new System.EventHandler(this.Button1_Click); this.Button2.Click += new System.EventHandler(this.Button2_Click); this.Load += new System.EventHandler(this.Page_Load); } #endregion private void Button1_Click(object sender, System.EventArgs e) { ListBox2.Items.Add(new ListItem(ListBox1.Items[ListBox1.SelectedIndex].Text,ListBox1.Items[ListBox1 .SelectedIndex].Value.ToString())); ListBox1.Items.RemoveAt(ListBox1.SelectedIndex); } private void BindData() { ListBox1.DataSource = LB1Data(); ListBox1.DataBind(); ListBox2.DataSource = LB2Data(); ListBox2.DataBind(); } public ArrayList LB1Data() { ArrayList _lb1Data = new ArrayList(); _lb1Data.Add(new ListItem("LB1Item1","1")); _lb1Data.Add(new ListItem("LB1Item2","2")); _lb1Data.Add(new ListItem("LB1Item3","3")); return _lb1Data; } public ArrayList LB2Data() { ArrayList _lb2Data = new ArrayList(); _lb2Data.Add(new ListItem("LB2Item1","1")); _lb2Data.Add(new ListItem("LB2Item2","2")); _lb2Data.Add(new ListItem("LB2Item3","3")); return _lb2Data; } private void Button2_Click(object sender, System.EventArgs e) { ListBox1.Items.Add(new ListItem(ListBox2.Items[ListBox2.SelectedIndex].Text,ListBox2.Items[ListBox2 .SelectedIndex].Value.ToString())); ListBox2.Items.RemoveAt(ListBox2.SelectedIndex); } } } _______________________________________________ Asp.net mailing list [EMAIL PROTECTED] http://www.glengamoi.com/mailman/listinfo/asp.net
