none
如何在Form1 的DataGridView中點選資料後將細項展開於Form2的DataGridView中 RRS feed

  • 問題

  • 小弟剛開始自學C#月餘,觀念上有諸多不明之處請見諒...想在Form1中的DataGridView中點選資料後,建一個新表單,再將我所點選資料的相關資料在新表單中的DataGridView中Show出來,結果出現錯誤"並未將物件參考設定為物件的執行個體"。

    我也試過別的辦法也google過都沒找到,又或者有一些是我看了半天無法理解的方法,百思不得其解,希望在這裡能得到前輩們的指點,不論是技巧或是建議我該學哪些觀念,都懇請各位大大不吝指教,謝謝。

    下圖是我在同一個Form上用兩個DataGridView來顯示我要的結果,但我目前沒辦法做到在新的Form中顯示:

    以下為Form1中相關程式碼:


    public string clicked_column; //在dataGriView1中任意控制項點選後會展開新表單顯示點選之資料列的細項 private void dataGridView1_CellDoubleClick(object sender, DataGridViewCellEventArgs e) { using (SqlConnection cn = new SqlConnection(Properties.Settings.Default.connString)) { try {

    //記錄所點選的資料 clicked_column = dataGridView1.CurrentCell.Value.ToString();

    //產生新的表單 devepNewF newF = new devepNewF(clicked_column); newF.Owner = this; newF.Show(); } catch (Exception ex) { MessageBox.Show(ex.Message, "錯誤", MessageBoxButtons.OK, MessageBoxIcon.Error); return; } } }

    再來是新表單的程式碼:

     

    //在新表單devepNewF中建一個建構式,將剛才所點選的資料傳過來

    public devepNewF(string detail_column) { using (SqlConnection cn = new SqlConnection(Properties.Settings.Default.connString)) { try {

    //連結到SQL後從相關的表單將我所選資料的相關資料Show出來 SqlDataAdapter detailDA = new SqlDataAdapter("SELECT TOP 10 * FROM EmployeeDepartment WHERE (DepartmentNumber LIKE '%" + detail_column.Trim() + "%')", cn); DataSet ds = new DataSet(); detailDA.Fill(ds, "detailDevep"); GridViewDetail.DataSource = ds.Tables["detailDevep"]; } catch (Exception ex) { MessageBox.Show(ex.Message, "錯誤", MessageBoxButtons.OK, MessageBoxIcon.Error); return; } } }


    2017年5月3日 上午 08:52

解答

所有回覆