XtraGridView不会将最后一行保存到我的数据库中

我的代码有这个怪异的问题,XtraGridView不保存最后一行,这是我的代码向数据库添加coulmns


        void CreateDataTable()

    {

        dt.Columns.Add("Le Nom");

        dt.Columns.Add("Quantité");

        dt.Columns.Add("Longueur");

        dt.Columns.Add("Largeur");

        dt.Columns.Add("Poids Total");

        dt.Columns.Add("Projet");

        dt.Columns.Add("Localisation");

        dt.Columns.Add("Fournisseur");

        dt.Columns.Add("Date");

        dt.Columns.Add("IDNom");

        dt.Columns.Add("IDProjet");

        dt.Columns.Add("IDLocalisation");

        dt.Columns.Add("IDFournisseur");

        gridControl1.DataSource = dt;


    }

这是我的代码,将数据添加到gridview


        private void btnSave_Click(object sender, EventArgs e)

    {

        DataRow r = dt.NewRow();


        r[0] = cmbName.Text;

        r[1] = txtQte.Text;

        r[2] = txtLength.Text;

        r[3] = txtWidth.Text;

        r[4] = txtWeight.Text;

        r[5] = cmbProject.Text;

        r[6] = cmbLocation.Text;

        r[7] = cmbProvider.Text;

        r[8] = txtDate.Text;

        r[9] = cmbName.SelectedValue;

        r[10] = cmbProject.SelectedValue;

        r[11] = cmbLocation.SelectedValue;

        r[12] = cmbProvider.SelectedValue;

        dt.Rows.Add(r);

    }


如果数据网格只有一行(它们不保存任何东西),如果数据网格有多于一行(保存除最后一行以外的所有行),当我运行代码时,我不会收到任何错误。有人可以帮助我,或者告诉我我哪里出了问题,谢谢。


陪伴而非守候
浏览 177回答 1
1回答

长风秋雁

您的循环存在逻辑问题。行索引从0开始。因此,如果您的gridView有10行,则其RowCount为10(索引0-9)。您正在运行循环gridView.RowCount-1。表示您要从循环中排除最后一行(RowCount 9,索引0-8)。此外,我建议您循环数据表,而不是循环gridView将值保存到数据库。for(int i = 0;i<dt.Rows.Count;i++){//your code here}
打开App,查看更多内容
随时随地看视频慕课网APP