Increase ID in a DataRow

1

I find the following problem. I am starting with datatables and I am relizing inserts through datarow. everything works perfect until I want to try using an increment for an ID in position 0. The code:

 public Form1()
    {

        InitializeComponent();
        Tbproductos = new DataTable();
        Tbproductos.Columns.Add("IdProducto");
        Tbproductos.Columns.Add("Nombre");
        Tbproductos.Columns.Add("Precio");

        DataRow r = Tbproductos.NewRow();
        r[0] = "1";
        r[1] = "Uno";
        r[2] = "40";

        Tbproductos.Rows.Add(r);
        DataRow r2 = Tbproductos.NewRow();
        r2[0] = "2";
        r2[1] = "dos";
        r2[2] = "770";

        Tbproductos.Rows.Add(r2);

        DataRow r3 = Tbproductos.NewRow();
        r3[0] = "3";
        r3[1] = "tres";
        r3[2] = "70";

        Tbproductos.Rows.Add(r3);

        combproducto.DataSource = Tbproductos;
        combproducto.ValueMember = "IdProducto";
        combproducto.DisplayMember = "Nombre";

        dataGridView1.DataSource = Tbproductos;



    }



    private void Binsertar_Click(object sender, EventArgs e)
    {
        //Insertar nueva fila con nuevos datos 
        DataRow Fila = Tbproductos.NewRow();
        Fila[0] = (int)Fila[0]+1;
        Fila[1] = NprodText.Text;
        Fila[2] = NprecText.Text;

        Tbproductos.Rows.Add(Fila);
    }
}

Thanks !!!

    
asked by Agus Veneziano 23.08.2018 в 23:42
source

1 answer

4

With an autoincrementable column

DataTable dt = new DataTable();
dt.Columns.Add("id");
dt.Columns["id"].AutoIncrement = true;
dt.Columns["id"].AutoIncrementSeed = 1;
dt.Rows.Add(dt.NewRow());
dt.Rows.Add(dt.NewRow());
dt.Rows.Add(dt.NewRow());

    
answered by 23.08.2018 / 23:53
source