0

テンプレートを使用してグリッドビューを作成しています。基本的に、選択するとセッション変数が作成され、ユーザーを別のページにリダイレクトするときにチェックボックスを作成しました。問題は、ラッパーの作成時にイベントが発生しないことです。

行事:

void cmd1_Click(object sender, EventArgs e)
    {

        Button txtdata = (Button)sender;

        inventoryBLL inv = new inventoryBLL();

        GridViewRow gvr = (GridViewRow)txtdata.NamingContainer;

        Label myControl = new Label();

        TableCell tc = gvr.Cells[0];
        // where GridView1 is the id of your GridView and indexOfCell is your index
        foreach (Control c in tc.Controls)
        {
            if (c is Label)
            {
                myControl = (Label)c;
            }
        }
        Label myControl1 = new Label();

        List<string> shipmentnames = new List<string>();
        List<string> asinlist = new List<string>();
        List<string> fnskulist = new List<string>();
        List<string> productlist = new List<string>();
        shipmentnames.Add(inv.shipmentname(_ShipmentID));
        asinlist.Add(myControl.Text);
        asinwrapper asin1 = new asinwrapper(asinlist, fnskulist, productlist, 0);
        asinwrapper.CreateSessionWrapper(asin1);
        ShipmentWrapper.CreateSessionWrapper(new ShipmentWrapper(shipmentnames));

    }

チェックボックスを作成するコード:

                        CheckBox cmd1 = new CheckBox();                           

                        cmd1.Text = "Change";

                        cmd1.CheckedChanged += new EventHandler(cmd1_Click);

                        cmd1.AutoPostBack = true;

                        container.Controls.Add(cmd1);                            

テンプレートを呼び出すコード

            bfield.HeaderTemplate = new GridViewTemplateShipmentItems(ListItemType.Header, "Change", FieldType.Label, ddlShipments.SelectedValue.ToString());

            bfield.ItemTemplate = new GridViewTemplateShipmentItems(ListItemType.Item, "Change", FieldType.ButtonAdd, ddlShipments.SelectedValue.ToString());

            grvList.Columns.Add(bfield);

            bfield = new TemplateField();
4

1 に答える 1

0

わかりました。正しく理解できれば、グリッドビューの行にチェックボックスが埋め込まれていますね。

その場合は、グリッドビューで選択された行イベントを操作する必要があります(チェックボックスイベントは非表示になり、期待どおりに機能しなくなります)。次に、チェックボックスを見つけて、チェックボックスがオンになっているかどうかを判断し、ユーザーをリダイレクトします。

必要に応じて、より正確な構文を取得できます。

于 2012-07-19T20:55:43.710 に答える