2

私はこのことを行いましたがIndex was out of range. Must be negative and non zero value.、次のコードのようにエラーが表示されます。

Dim index_flag as Integer = 0
GridView1.Rows(index_flag).Cells(1).Text = ds.Tables(0).Rows(index_flag).Item("curr_datetime").ToString
GridView1.Rows(index_flag).Cells(2).Text = ds.Tables(0).Rows(index_flag).Item("site_id").ToString
GridView1.Rows(index_flag).Cells(2).Text = ds.Tables(0).Rows(index_flag).Item("site_name").ToString
GridView1.Rows(index_flag).Cells(3).Text = ds.Tables(0).Rows(index_flag).Item("dc_volt").ToString
4

5 に答える 5

7

データテーブルを使用する必要があると思います。必要に応じてデータテーブルを準備し、このデータテーブルをグリッド ビューにバインドします。これは C# の例ですが、VB.NET の構文でも同じことができます。

        DataTable dt = new DataTable();
        dt.Columns.Add("sr_no");
        dt.Columns.Add("item_name");
        dt.Columns.Add("item_id");
        dt.Columns.Add("qty");
        dt.Columns.Add("rate");
        dt.Columns.Add("total");

        var dr = dt.NewRow();
        dr["sr_no"] = txtSr.Text;
        dr["item_name"] = ddlItem.SelectedItem.Text;
        dr["item_id"] = ddlItem.SelectedValue;
        dr["qty"] = txtQty.Text;
        dr["rate"] = txtRate.Text;
        dr["total"] = int.Parse(txtQty.Text) * int.Parse(txtRate.Text);

        dt.Rows.Add(dr);
于 2013-05-01T06:00:07.110 に答える
0

データテーブルから GridView にすべての行を追加しようとしているのはなぜですか? 可能な限り GridView.DataSource = DataTable と GridView を使用してください。DataBind()。これは、データ テーブルからグリッド ビューにデータを追加する作業を行います。

于 2013-05-01T05:56:23.040 に答える
0

GridView1.Rows.Add() がありません

Dim index_flag as Integer = 0
GridView.Rows.Add()
        GridView1.Rows(index_flag).Cells(1).Text = ds.Tables(0).Rows(index_flag).Item("curr_datetime").ToString

        GridView1.Rows(index_flag).Cells(2).Text = ds.Tables(0).Rows(index_flag).Item("site_id").ToString
        GridView1.Rows(index_flag).Cells(2).Text = ds.Tables(0).Rows(index_flag).Item("site_name").ToString
        GridView1.Rows(index_flag).Cells(3).Text = ds.Tables(0).Rows(index_flag).Item("dc_volt").ToString

UPDATE

Asp GridView については、このリンクを確認してください。質問を確認しました。このリンクで確認できますhttp://www.codeproject.com/Articles/467788/Dynamically-adding-and-deleting-rows-from-ASP-NET

于 2013-05-01T05:57:43.317 に答える
0

テキストボックスからグリッドビューに値を手動で追加することにより、次の方法は簡単です。これを試して

コード

protected void Button1_Click(object sender, EventArgs e)
    {
        DataTable dt = new DataTable();
        DataColumn dc = new DataColumn();

        if (dt.Columns.Count == 0)
        {
            dt.Columns.Add("Title1", typeof(string));
            dt.Columns.Add("Title2", typeof(string));
        }

        DataRow NewRow = dt.NewRow();
        NewRow[0] = TextBox1.Text;
        NewRow[1] = TextBox2.Text;
        dt.Rows.Add(NewRow);
        GridView1.DataSource = dt;
        GridView1.DataBind();
    }
于 2014-01-24T11:37:40.830 に答える