wie erstellen Sie event-handler für dynamische drop-down-Liste in c#

Habe ich eine dynamische grid-Ansicht mit Itemplate .jetzt habe ich auch erstellt eine dynamische drop-down-Liste in dem Gitter . so erstellen Sie eine Ereignisprozedur für auf selectedindexchange .

erstellte ich eine slectedindexchange Veranstaltung aber es hat nicht funktioniert .die Steuerung geht niemals auf das Ereignis ?

was zu tun ist, erstellen Sie einen event-handler

public class DynamicGridViewTextTemplate : ITemplate
{
    string _ColName;
    DataControlRowType _rowType;
    int _Count;
    details Details1 = new details();

    public DynamicGridViewTextTemplate(string ColName, DataControlRowType RowType)
    {
        _ColName = ColName;
        _rowType = RowType;
    }

    public DynamicGridViewTextTemplate(DataControlRowType RowType, int ArticleCount)
    {
        _rowType = RowType;
        _Count = ArticleCount;
    }

    public void InstantiateIn(System.Web.UI.Control container)
    {
        switch (_rowType)
        {
            case DataControlRowType.Header:
                Literal lc = new Literal();
                lc.Text = "<b>" + _ColName + "</b>";

                DropDownList ddl = new DropDownList();

                ddl.AutoPostBack = true;
                ddl.SelectedIndexChanged += new EventHandler(this.ddl_SelIndexChanged);

                container.Controls.Add(lc);
                container.Controls.Add(ddl);

                break;

            case DataControlRowType.DataRow:               

                 //Label lbl = new Label();

                 //lbl.DataBinding += new EventHandler(this.lbl_DataBind);
                 LinkButton lb = new LinkButton();
                 lb.DataBinding += new EventHandler(this.lbl_DataBind);
                 lb.OnClientClick +=new EventHandler(this.lb_Click);

                 //lbl.Controls.Add(lb);
                 container.Controls.Add(lb);               

                break;

            case DataControlRowType.Footer:
                Literal flc = new Literal();
                flc.Text = "<b>Total No of Articles:" + _Count + "</b>";
                container.Controls.Add(flc);
                break;

            default:

                break;
        }
    }

    private void lb_Click(Object sender, EventArgs e)
    {
        details1.lbl_Click(sender, e);
    }

    private void lbl_DataBind(Object sender, EventArgs e)
    {
        //Label lbl  = (Label)sender;
        LinkButton lbl = (LinkButton)sender;

        GridViewRow row = (GridViewRow)lbl.NamingContainer;

        lbl.Text =DataBinder.Eval(row.DataItem, _ColName).ToString();
    }

    public void ddl_SelIndexChanged(Object sender, EventArgs e)
    {
        Details1.ddlFilter_SelectedIndexChanged(sender,e);
    }
}
kannst du den ganzen code für diese Methode so gut wie diese.ddl_SelIndexChanged?
Wenn Sie mit ASP.NET Sie sollten daran denken, zum Neuaufbau der Control-Struktur auf jeder Seite laden, wie es war, wenn das Ereignis ausgelöst wurde, da sonst das Ereignis nicht ausgelöst wird.
can u plz sagen, wie zu tun, dass
Hast du jemals das gelöst? Ich habe das gleiche Problem und haben versucht, die Lösungen vorschlägt, und bin immer noch nicht der Erfassung der selectedIndexChangedEvent.

InformationsquelleAutor Arunachalam | 2010-09-06

Schreibe einen Kommentar