Habe jetzt nochmal, weil es mich auch interessiert, das DataBinding mit
in dieser Klasse erm�glicht.
Als Spalte habe ich in meiner SQL Server Tabelle eine vom Typ "Bit".

Den Spaltennamen einfach als 2. Parameter im Konstruktor angeben, und
schon wird die Checkbox datengebunden.

Code f�r die Klasse CheckBoxColumn:
==========================================================

public class CheckBoxColumn : ITemplate
        {
                string columnID;
                string columnBindField;
    
                public CheckBoxColumn(string colID, string colBindField)
                {
                        columnID = colID;
                        columnBindField = colBindField;
                }

                public void InstantiateIn(Control container)
                {
                        CheckBox myCheckBox = new CheckBox();
                        myCheckBox.ID = columnID;
                        myCheckBox.DataBinding+=new
EventHandler(this.BindCheckBoxColumn);
                        container.Controls.Add(myCheckBox);
                }
                public void BindCheckBoxColumn(object sender, EventArgs
e)
                {
                        CheckBox cbControl = (CheckBox)sender;
                        DataGridItem container =
(DataGridItem)cbControl.NamingContainer;
                        int i =container.DataSetIndex;
                        bool t = false;
                        try
                        {
                                t =
bool.Parse(((DataRowView)container.DataItem).Row[columnBindField].ToStri
ng().Trim());
                        }
                        catch
                        {
                                t=false;
                        }
                        cbControl.Checked = t;
                }
        }

andre.seifert
@xmmm.de


>-----Urspr�ngliche Nachricht-----
>Von: [EMAIL PROTECTED] 
>[mailto:[EMAIL PROTECTED]] Im Auftrag von Joerg Uth
>Gesendet: Donnerstag, 20. Februar 2003 13:35
>An: [EMAIL PROTECTED]
>Betreff: RE: [Asp.net] DataGrid Item Template dynamisch erzeugen
>
>
>Danke das ist ja mal ein guter Ansatz auf den ich bauen kann
>
>J�rg
>
>-----Original Message-----
>From: [EMAIL PROTECTED] 
>[mailto:[EMAIL PROTECTED]] On Behalf Of Andre Seifert
>Sent: Thursday, February 20, 2003 1:21 PM
>To: [EMAIL PROTECTED]
>Subject: AW: [Asp.net] DataGrid Item Template dynamisch erzeugen
>
>
>Ich habs mal nachvollzogen...
>Wichtig ist die Klasse unten (CheckBoxColumn), die die 
>Schnittstelle ITemplate implementiert.
>
>hier ein Beispiel mit CheckBox und Label.
>
>in der DataGridDynamicTemplate.aspx liegt nur ein DataGrid (DataGrid1).
>
>DataGridDynamicTemplate.aspx.cs 
>======================================================
>
>using System;
>using System.Collections;
>using System.ComponentModel;
>using System.Data;
>using System.Data.SqlClient;
>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 testSuite
>{
>       public class DataGridDynamicTemplate : System.Web.UI.Page
>       {
>               protected System.Web.UI.WebControls.DataGrid DataGrid1;
>                       
>               private void Page_Load(object sender, System.EventArgs
>e)
>               {
>                       TemplateColumn tc = new TemplateColumn();
>                       tc.ItemTemplate = new
>CheckBoxColumn("cb","myCB");   
>                       
>                       DataGrid1.Columns.Add(tc);
>                       SqlConnection conn1 = new 
>SqlConnection("Server=DBSERVER;User Id=USERNAME;Password=PWD;Initial
>Catalog=PASSWORD");
>                       SqlDataAdapter adp1 = new SqlDataAdapter("SELECT
>* FROM bpd_produkte",conn1);
>                       DataSet ds = new DataSet();
>                       conn1.Open();
>                       adp1.Fill(ds);
>                       DataGrid1.DataSource=ds;
>                       DataGrid1.DataBind();
>               }
>
>               #region Web Form Designer generated 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.Load += new
>System.EventHandler(this.Page_Load);
>
>               }
>               #endregion
>       }
>       public class CheckBoxColumn : ITemplate
>       {
>               string columnID;
>               string columnBindField;
>    
>               public CheckBoxColumn(string colID, string colBindField)
>               {
>                       columnID = colID;
>                       columnBindField = colBindField;
>               }
>
>               public void InstantiateIn(Control container)
>               {
>                       CheckBox myCheckBox = new CheckBox();
>                       Label lb = new Label();
>                       lb.Text = columnBindField;
>                       myCheckBox.ID = columnID;
>                       container.Controls.Add(myCheckBox);
>                       container.Controls.Add(lb);
>               }
>       }
>}
>
>andre.seifert
>@xmmm.de
>
>
>>-----Urspr�ngliche Nachricht-----
>>Von: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED]] 
>>Im Auftrag von Joerg Uth
>>Gesendet: Donnerstag, 20. Februar 2003 12:09
>>An: [EMAIL PROTECTED]
>>Betreff: RE: [Asp.net] DataGrid Item Template dynamisch erzeugen
>>
>>
>>DataBind ist klar das ist es aber nicht was ich meinte sondern ein 
>>durch DB Eintr�ge ezeugtes DataGrid wurde erzeugt.
>>
>>Dieses nehme ich und will es erweitern und halt diese Template 
>>hinzuf�gen um eine Checkbox hinzuf�gen zu k�nnen.
>>
>>DataGrid mDataGrid =(DataGrid) Page.FindControl("dg_4576");
>>
>>
>>
>>
>>
>>-----Original Message-----
>>From: [EMAIL PROTECTED] 
>[mailto:[EMAIL PROTECTED]] 
>>On Behalf Of Sebastian Krampe
>>Sent: Thursday, February 20, 2003 11:53 AM
>>To: '[EMAIL PROTECTED]'
>>Subject: AW: [Asp.net] DataGrid Item Template dynamisch erzeugen
>>
>>
>>
>>Versuchs mal mit einem
>>      mDataGrid.DataBind();
>>am Ende.
>>
>>Gru�
>>Sebastian
>>
>>-----Urspr�ngliche Nachricht-----
>>Von: Joerg Uth [mailto:[EMAIL PROTECTED]]
>>Gesendet: Donnerstag, 20. Februar 2003 11:54
>>An: [EMAIL PROTECTED]
>>Betreff: [Asp.net] DataGrid Item Template dynamisch erzeugen
>>
>>
>>Hallo zusammen ich versuche zur Laufzeit einem DataGrid
>>ein ItemTemplate hinzuzuf�gen um eine Checkbox-Spalte darzustellen.
>>
>><asp:templatecolumn>
>>      <itemtemplate>
>>              <asp:checkbox id="cb"></asp:checkbox>
>>      </itemtemplate>
>></asp:templatecolumn>
>>
>>Meine Grundidee ist:
>>
>>TemplateColumn tc = new TemplateColumn(); 
>System.Web.UI.Control c = new
>>System.Web.UI.Control(); CheckBox cb = new CheckBox();
>>cb.ID = "CheckBox";
>>c.Controls.Add(cb);
>>
>>ITemplate it;
>>it.InstantiateIn(c);
>>tc.ItemTemplate =(ITemplate) it;
>>
>>mDataGrid.Columns.Add(tc);
>>
>>Aber das Funktionier leider nicht.
>>
>>Hat einer von Euch eine Idee oder muss ich eine neue Class f�r dieses 
>>Template erzeugen in der Art TemplateBuilder() oder so:
>>
>>J�rg
>>
>>_______________________________________________
>>Asp.net mailing list
>>[EMAIL PROTECTED] 
>http://www.glengamoi.com/mailman/listinfo/asp.n>et
>>
>>
>>.
>
>>_______________________________________________
>
>>Asp.net mailing list
>>[EMAIL PROTECTED] 
>http://www.glengamoi.com/mailman/listinfo/asp.n>et
>>
>
>>_______________________________________________
>
>>Asp.net mailing list
>>[EMAIL PROTECTED] 
>http://www.glengamoi.com/mailman/listinfo/asp.n>et
>>
>
>
>_______________________________________________
>Asp.net 
>mailing list
>[EMAIL PROTECTED] http://www.glengamoi.com/mailman/listinfo/asp.net
>
>_______________________________________________
>Asp.net mailing list
>[EMAIL PROTECTED] http://www.glengamoi.com/mailman/listinfo/asp.net
>

_______________________________________________
Asp.net mailing list
[EMAIL PROTECTED]
http://www.glengamoi.com/mailman/listinfo/asp.net

Antwort per Email an