Visualizzazione dei risultati da 1 a 2 su 2

Discussione: oggetto in datagrid

  1. #1

    oggetto in datagrid

    ciao,
    ho costruito una datagrid da codice con 1 colonna di tipo intero e 2 colonne che contengono ciascuna un radiobutton. non riesco a prelevare il valore dei rdiobutton, come posso fare? sotto metto il codice che ho scritto:

    pagina.aspx
    ----------------------------------------------------------------------------------------------------------------------
    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 datagrid
    {
    /// <summary>
    /// Summary description for rbtradiobutton.
    /// </summary>
    public class rbtradiobutton : System.Web.UI.Page
    {
    protected System.Web.UI.WebControls.PlaceHolder place;
    RadioButton rbt1 = null;
    RadioButton rbt2 = null;
    DataGrid dg = null;

    private void Page_Load(object sender, System.EventArgs e)
    {
    // Put user code to initialize the page here
    //crea_radiobutton();
    crea_datagrid();
    dg.DataSource = CreateDataSource();
    dg.DataBind();
    dg.ItemDataBound += new DataGridItemEventHandler(dg_ItemDataBound);
    }

    private void crea_datagrid()
    {
    dg = new DataGrid();
    dg.ID = "dgdatagrid";
    dg.BorderColor = System.Drawing.Color.Black;
    dg.CellPadding = 3;
    dg.AutoGenerateColumns = false;
    dg.HeaderStyle.BackColor = System.Drawing.Color.ForestGreen;
    dg.HeaderStyle.ForeColor = System.Drawing.Color.White;
    dg.Columns.Add(CreateBoundColumn("IntegerValue", "N°"));
    dg.Columns.Add(CreateTemplateColumnRbt1("radiobutt on1"));
    dg.Columns.Add(CreateTemplateColumnRbt2("radiobutt on2"));
    place.Controls.Add(dg);
    }

    private ICollection CreateDataSource()
    {
    DataTable dt = new DataTable();
    DataRow dr;

    dt.Columns.Add(new DataColumn("IntegerValue", typeof(Int32)));
    for(int i=0;i<=4;i++)
    {
    dr = dt.NewRow();
    dr[0] = i+1;
    dt.Rows.Add(dr);
    }
    Session["Source"] = dt;
    DataView dv = new DataView(dt);
    return dv;
    }

    BoundColumn CreateBoundColumn(String DataFieldValue, String HeaderTextValue)
    {
    BoundColumn column = new BoundColumn();
    column.DataField = DataFieldValue;
    column.HeaderText = HeaderTextValue;
    return column;
    }

    TemplateColumn CreateTemplateColumnRbt1(String HeaderTextValue)
    {
    Control ctrl = new Control();
    TemplateColumn column = new TemplateColumn();
    column.HeaderText=HeaderTextValue;
    column.ItemTemplate = new DataGridTemplateRbt1();
    return column;
    }

    TemplateColumn CreateTemplateColumnRbt2(String HeaderTextValue)
    {
    Control ctrl = new Control();
    TemplateColumn column = new TemplateColumn();
    column.HeaderText=HeaderTextValue;
    column.ItemTemplate = new DataGridTemplateRbt2();
    return column;
    }

    private void crea_radiobutton()
    {
    rbt1 = new RadioButton();
    rbt1.ID="rbt23";
    rbt1.GroupName="benny";
    rbt1.AutoPostBack=true;
    rbt1.Text="radiobutton 1";
    rbt1.CheckedChanged += new EventHandler(rbt_CheckedChanged);
    place.Controls.Add(rbt1);
    rbt2 = new RadioButton();
    rbt2.ID="rbt32";
    rbt2.GroupName="benny";
    rbt2.AutoPostBack=true;
    rbt2.Text="radiobutton 2";
    rbt2.CheckedChanged += new EventHandler(rbt2_CheckedChanged);
    place.Controls.Add(rbt2);
    }

    #region Web Form Designer generated code
    override protected void OnInit(EventArgs e)
    {
    //
    // CODEGEN: This call is required by the ASP.NET Web Form Designer.
    //
    InitializeComponent();
    base.OnInit(e);
    }

    /// <summary>
    /// Required method for Designer support - do not modify
    /// the contents of this method with the code editor.
    /// </summary>
    private void InitializeComponent()
    {
    this.Load += new System.EventHandler(this.Page_Load);

    }
    #endregion

    private void rbt_CheckedChanged(object sender, EventArgs e)
    {
    if(rbt1.Checked)
    {
    Response.Write(rbt1.Text.ToString());
    }
    }

    private void rbt2_CheckedChanged(object sender, EventArgs e)
    {
    if(rbt2.Checked)
    {
    Response.Write(rbt2.Text.ToString());
    }
    }

    private void dg_ItemDataBound(object sender, DataGridItemEventArgs e)
    {
    if ((e.Item.ItemType == ListItemType.Item)||(e.Item.ItemType == ListItemType.AlternatingItem))
    {
    DataGridTemplateRbt1 dgrbt1 = new DataGridTemplateRbt1();
    DataGridTemplateRbt2 dgrbt2 = new DataGridTemplateRbt2();
    rbt1 = new RadioButton();
    rbt2 = new RadioButton();
    rbt1 = (RadioButton)(e.Item.FindControl("rbt1"));
    rbt2 = (RadioButton)(e.Item.FindControl("rbt2"));
    rbt1.CheckedChanged += new EventHandler(dgrbt1.rbt_CheckedChanged);
    rbt2.CheckedChanged += new EventHandler(dgrbt2.rbt_CheckedChanged);
    }
    }
    }
    }


    DataGridTemplateRbt1.cs
    ----------------------------------------------------------------------------------------------------------------------
    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 datagrid
    {
    /// <summary>
    /// Summary description for DataGridTemplateRbt1.
    /// </summary>
    public class DataGridTemplateRbt1: ITemplate
    {
    public DataGridTemplateRbt1()
    {
    //
    // TODO: Add constructor logic here
    //
    }

    public void InstantiateIn(System.Web.UI.Control container)
    {
    RadioButton rbt = new RadioButton();
    rbt.GroupName="benny";
    rbt.ID="rbt1";
    rbt.Checked=true;
    rbt.CheckedChanged += new EventHandler(rbt_CheckedChanged);
    container.Controls.Add(rbt);
    }

    public void rbt_CheckedChanged(object sender, EventArgs e)
    {
    HttpContext.Current.Response.Write("prova1");
    }
    }
    }




    DataGridTemplateRbt2.cs
    ----------------------------------------------------------------------------------------------------------------------
    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 datagrid
    {
    /// <summary>
    /// Summary description for DataGridTemplateRbt2.
    /// </summary>
    public class DataGridTemplateRbt2: ITemplate
    {
    public DataGridTemplateRbt2()
    {
    //
    // TODO: Add constructor logic here
    //
    }

    public void InstantiateIn(System.Web.UI.Control container)
    {
    RadioButton rbt = new RadioButton();
    rbt.GroupName="benny";
    rbt.ID="rbt2";
    rbt.Checked=false;
    rbt.CheckedChanged += new EventHandler(rbt_CheckedChanged);
    container.Controls.Add(rbt);
    }

    public void rbt_CheckedChanged(object sender, EventArgs e)
    {
    HttpContext.Current.Response.Write("prova2");
    }
    }
    }

  2. #2
    nessuno mi può aiutare???????? :master:

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2026 vBulletin Solutions, Inc. All rights reserved.