簡體   English   中英

如何在編輯值 c# 后更新 dataGridview?

[英]How can i update dataGridview After editing values c#?

我有一個表(“UserPr”) ,我將數據顯示到 gridview,所以當我直接從 datagridview 編輯一個單元格的值時,例如:在一行中將 chexkbox**(“canShow”)** 值從真或假更改,更改將所有行的值更新為相同的值,並將值更改為列。 在此處輸入圖像描述 這是我的代碼:-

 private void button4_Click(object sender,EventArgs e)
        {
            try
            {
                int UseID = Convert.ToInt32( TXT_ID.Text);
                Boolean CanShow = dataGridView2.Rows[0].Cells[5].Value.Equals(true || false);
                Boolean CanOpen = dataGridView2.Rows[0].Cells[6].Value.Equals(true || false);
                Boolean CanAdd = dataGridView2.Rows[0].Cells[7].Value.Equals(true || false);
                Boolean CanEdit = dataGridView2.Rows[0].Cells[8].Value.Equals(true || false);
                Boolean CanDelete = dataGridView2.Rows[0].Cells[9].Value.Equals(true || false);
                Boolean CanPrint = dataGridView2.Rows[0].Cells[10].Value.Equals(true || false);

                if (TXT_ID.Text != "")
                {
                    foreach (DataGridViewRow row in dataGridView2.Rows)
                    {
                        string constring = @"Data Source = MOHAMEDTHRWAT20\SQLEXPRESS; Initial Catalog = SharpControl; Integrated Security = True";
                        using (SqlConnection con = new SqlConnection(constring))
                        {
                            String updateData = "UPDATE UserPr SET CanShow=@CanShow,CanOpen=@CanOpen,CanAdd=@CanAdd,CanEdit=@CanEdit,CanDelete=@CanDelete,CanPrint=@CanPrint WHERE UseID='" + UseID + "'";
                            SqlCommand update = new SqlCommand(updateData, con);
                            {
                                con.Open();
                                update.Parameters.Add("@CanShow", SqlDbType.Bit).Value= CanShow;
                                update.Parameters.Add("@CanOpen", SqlDbType.Bit).Value= CanOpen;
                                update.Parameters.Add("@CanAdd", SqlDbType.Bit).Value = CanAdd;
                                update.Parameters.Add("@CanEdit", SqlDbType.Bit).Value = CanEdit;
                                update.Parameters.Add("@CanDelete", SqlDbType.Bit).Value = CanDelete;
                                update.Parameters.Add("@CanPrint", SqlDbType.Bit).Value = CanPrint;
                                update.ExecuteNonQuery();
                                con.Close();
                            }  
                        }
                    }
                    //updateaut();

                }
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.ToString());
            }
        }

我有一個這樣的項目。 我這樣做的方式是清除datagridview,而不是清除后填充數據。^

private void ClearDataGridView()
    {
        dgv.Rows.Clear();
    }

public static void AddDataToGridView(System.Windows.Forms.DataGridView dataGrid, string column1, string column2)
    {

        dataGrid.Rows.Add(column1, column2);
    }

我將從數據庫源中獲取的列中的值

暫無
暫無

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

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