none
請問有沒有辦法清除 DataTable 數據, 又可以保留框架 RRS feed

  • 問題

  • 我自己建了一個 DataTable,
    想要將 Table 內所有數據清除,
    試了 DataTable.Clear 和 Datatable.Rows.Clear ,會連表格都清除,
    有沒有保留表格的清除辦法?
    2012年10月3日 上午 06:21

解答

  • 你要留下空的 Row ? 那可能要清掉後, 用迴圈去增加


    在現實生活中,你和誰在一起的確很重要,甚至能改變你的成長軌跡,決定你的人生成敗。 和什麼樣的人在一起,就會有什麼樣的人生。 和勤奮的人在一起,你不會懶惰; 和積極的人在一起,你不會消沈; 與智者同行,你會不同凡響; 與高人為伍,你能登上巔峰。

    • 已標示為解答 C.Kevin 2012年10月3日 上午 09:17
    2012年10月3日 上午 07:40
    版主
  • 也想留下 Rows,但是 Rows 沒有跟著被複製。

    把每一个Rows数值全部清空:

    foreach(DataRow row in Table.Rows)
    {
       foreach(DataColumn col in Table.Columns)
       {
            row[col] = "";
       }
    }

    下载MSDN桌面工具(Vista,Win7)
    我的博客园
    慈善点击,点击此处

    • 已標示為解答 C.Kevin 2012年10月3日 上午 09:17
    2012年10月3日 上午 08:47

所有回覆

  • 用Clone另外產生一個試試
    • 已提議為解答 ThankfulHeart 2012年10月3日 上午 08:46
    • 已取消提議為解答 ThankfulHeart 2012年10月3日 上午 08:46
    2012年10月3日 上午 06:25
  • 試了只複製到 ColumnHeader,
    [DataTable.Clone 方法]

     Dim TB As DataTable = New DataTable("TestTable")
    
    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
            TB.Columns.Add(" ")
            TB.Columns.Add("A")
            TB.Columns.Add("B")
            TB.Columns.Add("C")
    
            For i = 0 To 4
                TB.Rows.Add(i)
            Next
    
            Dim a As DataTable
            a = TB.Clone
            DataGridView1.DataSource = a
    End Sub


    • 已編輯 C.Kevin 2012年10月3日 上午 07:01
    • 已提議為解答 ThankfulHeart 2012年10月3日 上午 08:46
    • 已取消提議為解答 ThankfulHeart 2012年10月3日 上午 08:46
    2012年10月3日 上午 07:00
  • 你的問題看起來就是只要留單純有欄位架構, 而沒有資料的 DataTable 不是嗎 ? 不然你想留下些什麼 ?


    在現實生活中,你和誰在一起的確很重要,甚至能改變你的成長軌跡,決定你的人生成敗。 和什麼樣的人在一起,就會有什麼樣的人生。 和勤奮的人在一起,你不會懶惰; 和積極的人在一起,你不會消沈; 與智者同行,你會不同凡響; 與高人為伍,你能登上巔峰。

    2012年10月3日 上午 07:05
    版主
  • 也想留下 Rows,但是 Rows 沒有跟著被複製。
    2012年10月3日 上午 07:29
  • 你要留下空的 Row ? 那可能要清掉後, 用迴圈去增加


    在現實生活中,你和誰在一起的確很重要,甚至能改變你的成長軌跡,決定你的人生成敗。 和什麼樣的人在一起,就會有什麼樣的人生。 和勤奮的人在一起,你不會懶惰; 和積極的人在一起,你不會消沈; 與智者同行,你會不同凡響; 與高人為伍,你能登上巔峰。

    • 已標示為解答 C.Kevin 2012年10月3日 上午 09:17
    2012年10月3日 上午 07:40
    版主
  • 也想留下 Rows,但是 Rows 沒有跟著被複製。

    把每一个Rows数值全部清空:

    foreach(DataRow row in Table.Rows)
    {
       foreach(DataColumn col in Table.Columns)
       {
            row[col] = "";
       }
    }

    下载MSDN桌面工具(Vista,Win7)
    我的博客园
    慈善点击,点击此处

    • 已標示為解答 C.Kevin 2012年10月3日 上午 09:17
    2012年10月3日 上午 08:47
  • 謝謝各位的解答,我選擇 DataTable.Rows.Clear 後重新用迴圈建立新 Rows 。
    2012年10月3日 上午 09:17