DevTrain Startseite Visual Studio 1 Magazin  
  
  
SUCHEN:  
ARTIKEL ONLINE: 525   

Kategorien
.NET
Datenbanken
Web
XML

Allgemein
Camp
Foren
Events
Persönliche Einstellungen
Registrieren
Prämien Shop
Kontakt
Impressum
Über DevTrain

Autoren



 

Forum: ASP.NET | Thema: Re: Zugriff auf Custom Control | Von: G. Guest ( 24.10.2003 13:44)

Hallo beisammen,

nun habe ich ein neues Problem: Ich möchte mein CustomControl in ein DataGrid einbinden. Im ItemTemplate funktioniert das auch und ich bekomme mein DropDown mit Einträgen angezeigt. Wenn ich aber die Zeile editieren will, ist meine DropDownList leer.


--------------------------------------------------------------------------------

test.aspx
<%@ Page language="c#" Codebehind="test.aspx.cs" Inherits="Lizenzdialog.Test" %>
<%@ Register TagPrefix="tom" TagName="lizenzart_liste" Src="modules/lizenzart_liste.ascx" %>
<HTML>
<body>
<form id="udo" method="post" runat="server">
<asp:label id="Message" runat="server"></asp:label><br>
<ASP:DATAGRID id="LizenzListeDG" runat="server" OnEditCommand="LizenzListeDG_OnEditCommand" DataKeyField="SID"
OnDeleteCommand="LizenzListeDG_OnDeleteCommand" AutoGenerateColumns="False" OnUpdateCommand="LizenzListeDG_OnUpdateCommand"
OnCancelCommand="LizenzListeDG_OnCancelCommand">
<ItemStyle BackColor="#F2F4F8"></ItemStyle>
<HeaderStyle BackColor="#D1DAE8"></HeaderStyle>
<Columns>
<asp:TemplateColumn HeaderText="Aktion">
<HeaderStyle HorizontalAlign="Center" Width="6%"></HeaderStyle>
<ItemTemplate>
<asp:LinkButton runat="server" Text='<img src="images/edit.gif">' CommandName="Edit"></asp:LinkButton>
</ItemTemplate>
<EditItemTemplate>
<asp:LinkButton runat="server" Text='<img src="images/update.gif">'
CommandName="Update"></asp:LinkButton>
<asp:LinkButton runat="server" Text='<img src="images/zuruecksetzen.gif">' CommandName="Cancel"></asp:LinkButton>
</EditItemTemplate>
</asp:TemplateColumn>

<asp:BoundColumn ReadOnly="True" DataField="VERNR" HeaderText="VERNR">
<HeaderStyle Width="7%"></HeaderStyle>
</asp:BoundColumn>
<asp:TemplateColumn HeaderText="LIZENZART">
<HeaderStyle Width="16%"></HeaderStyle>
<ItemTemplate>
<tom:lizenzart_liste runat="server" id="ctl_lizenzart_liste" /></ItemTemplate>
<EditItemTemplate>
<tom:lizenzart_liste runat="server" id="ctl_lizenzart_liste" />
</EditItemTemplate>
</asp:TemplateColumn>
</Columns>
</ASP:DATAGRID>
</P>
</form>
</body>
</HTML>


--------------------------------------------------------------------------------

test.aspx.cs
using System;
using System.Data;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.HtmlControls;
using System.Drawing;

namespace Lizenzdialog
{
public class Test : System.Web.UI.Page
{
private DataView _BetriebssystemList;

protected System.Web.UI.WebControls.DataGrid LizenzListeDG;
protected Lizenzdialog.modules.rechner_liste ctl_lizenzart_liste;


private void Page_Load(object sender, System.EventArgs e)
{
if(!Page.IsPostBack)
{
BindData();
}
}

private void BindData()
{
LizenzData _LizenzData = new LizenzData();

DataView LizenzListeDataView = _LizenzData.GetData(Request.QueryString["id1"], Request.QueryString["id2"]);
LizenzListeDG.DataSource = LizenzListeDataView;
LizenzListeDG.DataBind();
}

public void LizenzListeDG_OnEditCommand(Object sender, DataGridCommandEventArgs e)
{
((DataGrid)sender).EditItemIndex = e.Item.ItemIndex;
}

public void LizenzListeDG_OnUpdateCommand(Object sender, DataGridCommandEventArgs e)
{
//Editieren beenden durch Reset des EditItemIndex
((DataGrid)sender).EditItemIndex = -1;
//Daten an das Grid binden
BindData();
}

public void LizenzListeDG_OnCancelCommand(Object sender, DataGridCommandEventArgs e)
{
//Editieren beenden durch Reset des EditItemIndex
((DataGrid)sender).EditItemIndex = -1;
BindData();
}

public void LizenzListeDG_OnDeleteCommand(Object sender, DataGridCommandEventArgs e)
{
//Editieren beenden durch Reset des EditItemIndex
((DataGrid)sender).EditItemIndex = -1;
//Daten an das Grid binden
BindData();
}
}
}



--------------------------------------------------------------------------------

lizenz_liste.ascx
<%@ Control Language="c#" Codebehind="lizenzart_liste.ascx.cs" Inherits="Lizenzdialog.modules.lizenzart_liste"%>

<asp:DropDownList id="ddl_lizenzart" Runat="server"></asp:DropDownList>




--------------------------------------------------------------------------------

lizenz_liste.ascx.cs
using System;
using System.Data;
using System.Drawing;
using System.Collections;
using System.Web;
using System.Web.UI.WebControls;
using System.Web.UI.HtmlControls;

namespace Lizenzdialog.modules
{
public class lizenzart_liste : System.Web.UI.UserControl
{
public DataView _LizenzartList;
public System.Web.UI.WebControls.DropDownList ddl_lizenzart;

private void Page_Init(object sender, System.EventArgs e)
{
LizenzData _LizenzData = new LizenzData();
}

private void Page_Load(object sender, System.EventArgs e)
{
if(!Page.IsPostBack)
{
BindData();
}
}

private void BindData()
{
ArrayList values = new ArrayList();

values.Add ("HL");
values.Add ("NL");
values.Add ("FL");
values.Add ("SL");

ddl_lizenzart.DataSource = values;
ddl_lizenzart.DataBind();
}

public DataView GetlizenzartList()
{
return _LizenzartList;
}
}
}





Antworten
Vorsicht bei der Eingabe: Die Zeichen ' oder -- sind nicht erlaubt!

 Betreff:
 Nachricht: Den Beitrag finden Sie nun unter: http://beta.devtrain.de/foren Die Benutzerdaten und Foreninhalte von beta.devtrain.de und www.devtrain.de sind die selben.
Sie können sich dort sogar per RSS über neue Inhalte informieren lassen.
Bei Problemen bitte direkt Mail an asp [AT] ppedv.de.

 Signatur:

  



Login
Username:


Passwort:






Passwort vergessen?

Advanced Developers Conference vom 14.-15. Februar 2011

© Copyright 2003 ppedv AG