簡體   English   中英

將編輯從DataGridView保存到Datatable

[英]Save edits from DataGridView to Datatable

嗨,我想將DataGriView中的編輯保存到datatable,我嘗試了該代碼,但錯誤顯示'System.ArgumentOutOfRangeException:'索引超出范圍。 它不能為負,並且必須小於集合的大小。 參數名稱:索引''幫助

private void button11_Click(object sender, EventArgs e)
    {
        con.Open();

        String query = "SELECT * FROM Taom";

        SqlDataAdapter SDA = new SqlDataAdapter(query, con);
        DataTable dt1 = new DataTable();

        DataSet ds1 = new DataSet();
        DataTable dt = new DataTable();
        dataGridView1.DataSource = dt1;
        SDA.Fill(dt);
        dataGridView1.Rows[2].Cells[2].Value = Math.Atan((Convert.ToDouble(dataGridView1.Rows[5].Cells[2].Value)) / (Convert.ToDouble(dataGridView1.Rows[6].Cells[2].Value)));
        dataGridView1.Rows[3].Cells[2].Value = Math.Atan((Convert.ToDouble(dataGridView1.Rows[7].Cells[2].Value)) / (Convert.ToDouble(dataGridView1.Rows[8].Cells[2].Value)));
        ds1.Tables.Add(dt);
con.Close();}

我將代碼更改為該代碼,我在datagridview上運行值更改后未顯示任何錯誤,但在datatable中未更改!

string query = "SELECT * FROM [dbo].[Taom]";
        SqlConnection conn = new SqlConnection(@"Data Source=STE-P0024818PW;Initial Catalog=test;Integrated Security=True");
        conn.Open();

        SqlDataAdapter SDA = new SqlDataAdapter(query, conn);
        DataSet ds1 = new DataSet();
        DataTable dt = new DataTable();
        SDA.Fill(dt);
        dt.Rows[0]["Contents"] = "98"; //Before it was 10
        dt.Rows[1]["Contents"] = "99"; //Before it was 11
        ds1.Tables.Add(dt);

        conn.Close();

在表中填充正確的值,並在將表正確填充到數據源中之后,不要像在網格視圖中那樣直接更改此值:

我嘗試一下,它的工作原理是:

private void Run()
{
    string query = "SELECT * FROM dbo.[Anrufthema]";
    SqlConnection conn = new SqlConnection("MyConnectionString");
    conn.Open();

    SqlDataAdapter SDA = new SqlDataAdapter(query, conn);
    DataSet ds1 = new DataSet();
    DataTable dt = new DataTable();
    SDA.Fill(dt);
    dt.Rows[0]["Anrufthema"] = "98"; //Before it was 10
    dt.Rows[1]["Anrufthema"] = "99"; //Before it was 11
    ds1.Tables.Add(dt);

    conn.Close();
}

我的結果,它有效!

在此處輸入圖片說明

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM