none
DataGridView 存檔問題 RRS feed

  • 問題

  • 想請問一個關於DataGridView資料存檔的問題

    我利用LINQ資料查詢技術,將資料庫的資料查詢結果放入
    DataGridView。
    我建立了MenuStripb有另存檔案,想將查詢後結果,存成筆記本但是ㄧ直說無效的呼叫。

    程式碼如下
        Private Sub mnuSave_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles mnuSave.Click
            SaveFileDialog1.Filter = "文書檔 (*.txt)|*.txt|所有檔案(*.*)|*.*"
            SaveFileDialog1.FilterIndex = 1
            SaveFileDialog1.RestoreDirectory = True
            SaveFileDialog1.DefaultExt = ".txt"
            If SaveFileDialog1.ShowDialog() = Windows.Forms.DialogResult.OK Then
                fileName = SaveFileDialog1.FileName
                fileNum = FreeFile()
                FileOpen(fileNum, fileName, OpenMode.Output)
                Write(fileNum, DataGridView1.DataSource)
                FileClose(fileNum)
                Me.Text = fileName & "-筆記本"
            End If

    請各位前輩指導一下,謝謝

    2009年12月1日 上午 08:42

解答

所有回覆

  • Populating data from a CSV file to a DataGridView and Retriving data from a DataGridView to CSV


    不能直接存DataSource吧,去試試這個範例...
    2009年12月1日 上午 09:12

  • 因為我查詢後的資料已經放進去
    DataGridView1 現在要把它存出來沒辦法,但是程式碼如果使用Textbox裡面輸入文字可以把文字存出來。

    如果不能直接存DataSourc那需要換成什麼屬性??
    網站裡面屬性試過了不行,還是我 程式需要重新寫比較好。

    謝謝你
    2009年12月1日 下午 02:50
  • Dim I As Integer = 0

    Dim j As Integer = 0

    Dim cellvalue$

    Dim rowLine As String = ""

    Try

    Dim objWriter As New System.IO.StreamWriter(fName, True)

    For j = 0 To (DataGridView1.Rows.Count - 2)

    For I = 0 To (DataGridView1.Columns.Count - 1)

    If Not TypeOf DataGridView1.CurrentRow.Cells.Item(I).Value Is DBNull Then

    cellvalue = DataGridView1.Item(I, j).Value

    Else

    cellvalue = ""

    End If

    rowLine = rowLine + cellvalue + ","

    Next

    objWriter.WriteLine(rowLine)

    rowLine = ""

    Next

    objWriter.Close()

    MsgBox("Text written to file")

    Catch e As Exception

    MessageBox.Show("Error occured while writing to the file." + e.ToString())

    Finally

    FileClose(1)

    End Try


    這段語法有試過嗎...

    2009年12月1日 下午 02:56
  • 既有討論:
    [VB2008]DataGridView內容儲存成txt檔
    http://social.msdn.microsoft.com/forums/zh-TW/232/thread/d859f023-a362-497d-9888-1c02360518a4/


    論壇是網友平等互助 保證解答請至 微軟技術支援服務
    提問時,錯誤情境描述與錯誤訊息很重要,情境描述包含你做了什麼,預期的結果與實際發生的結果。一個最爛的問法範例:「我的電腦電腦怎麼不能開機?」誰知道你家是不是沒電還是你根本找不到電源鈕。
    • 已標示為解答 Lolota Lee 2009年12月7日 上午 05:49
    2009年12月1日 下午 03:44
  • Dear 心冷熱情熄

               我有去觀看你貼給我的網址裡面的解答,但是裡面有些地方我不是很懂想請問您。
    他的code如下
    Dim table As DataTable
            Dim row As DataRow
            Dim column As DataColumn
            Dim Filename As String = SaveFileInfo.Text
            Dim file_no As Integer = FreeFile()

     

            FileOpen(file_no, Filename, OpenMode.Input)

     

            For Each table In mydataset.Tables
                For Each row In table.Rows
                    For Each column In table.Columns

                        Console.Write(ControlChars.Quote & " " & row(column).ToString())

                    Next column

                    Console.WriteLine()

                Next row

            Next table

     

            Sub_Form.Dispose()
            FileClose(file_no)

    他程式碼這兩各部分是做什麼的

    mydataset.Tables

    Sub_Form.Dispose()

    以及 Dim Filename As String = SaveFileInfo.Text 他是利用文字方塊輸入檔案名稱

    我有使用檔案對話方塊SaveFileDialog這部份可以不需要嗎?

     

    2009年12月11日 上午 06:39
  • For Each table In mydataset.Tables
    表示不只一個資料表,他都要存出來

    Sub_Form.Dispose()
    關閉他的視窗,不重要

    ... 每個人依照需求自己改寫程式碼,這不是很正常的嗎?不了解你這樣問的目地與意義。



    論壇是網友平等互助 保證解答請至 微軟技術支援服務
    提問時,錯誤情境描述與錯誤訊息很重要,情境描述包含你做了什麼,預期的結果與實際發生的結果。一個最爛的問法範例:「我的電腦電腦怎麼不能開機?」誰知道你家是不是沒電還是你根本找不到電源鈕。
    2009年12月11日 上午 06:47