none
請問有關AxDataGrid的問題 RRS feed

  • 問題

  • 請問使用AxDataGrid該如何撰寫它的相關程式呢?因為我原本以為它與DataGrid的寫法是一樣的,但總是會出現錯誤訊息,以下是我寫的程式

    Dim connstr, selectcmd As String

        '    connstr = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=test.mdb"
        '    selectcmd = "select * from test "
        '    Dim conn As OleDbConnection, myadapter As OleDbDataAdapter
        '    Dim mydataset As New DataSet()
        '    conn = New OleDbConnection(connstr)
        '    conn.Open()
        '    myadapter = New OleDbDataAdapter(selectcmd, conn)
        '    myadapter.Fill(mydataset, "test")

        '    AxDataGrid1.DataSource = mydataset
        '    AxDataGrid1.DataMember = "test"

    但在AxDataGrid1.DataSource = mydataset這行會出現 「轉換型別無效」><"

    但我之前用datagrid來做時,一樣的程式碼都可以run,是不是AxDataGrid的寫法與datagrid的寫法是不一樣的呢?那請問我該如何做修改呢?

    2006年10月19日 上午 08:04

解答

  • 是不能用。

    所有舊的 COM 物件在加入 .Net 時,會自動產生封裝遞送的 DLL 檔,並在前面加上 Ax (ActiveX) ,手動可產生沒有 Ax 的封裝遞送 DLL 檔。

    而 VB6 DataGrid 的 DataSource 是用 Recordset ,與 DataSet 完全不相容~ Recordset 比較接近 DataSet.Tables(i) ,也就是其中一個表,但是實際上還是不同。

    不死才奇怪...

    2006年10月19日 上午 09:01
    版主

所有回覆

  • AxDataGrid 是元件廠商的元件吧?
    如果不是內建元件,最好移駕到該廠商的產品討論區或技術支援發問 ...
    板上不見得有人用過 ...
    2006年10月19日 上午 08:26
    版主
  • AxDataGrid算是內建的哩><雖然它須在「自訂工具」中把它另外叫起,但它應該算是vb.net內建的吧......
    2006年10月19日 上午 08:31
  • ... 不會是 VB6 時代的 DataGrid 吧?
    那你只能回頭去參考 VB6 的文件,因為 VB6 時代並沒有 DataSet 這個東西 ...
    2006年10月19日 上午 08:40
    版主
  • 會不會不能用ADO.Net,要把之前的ADO元件一並引用進來來作;記得VB6的時候是RecordSet...

    另外;為甚麼不直接用DataGridView呢?有其它考量嗎?

    2006年10月19日 上午 08:50
  • 是不能用。

    所有舊的 COM 物件在加入 .Net 時,會自動產生封裝遞送的 DLL 檔,並在前面加上 Ax (ActiveX) ,手動可產生沒有 Ax 的封裝遞送 DLL 檔。

    而 VB6 DataGrid 的 DataSource 是用 Recordset ,與 DataSet 完全不相容~ Recordset 比較接近 DataSet.Tables(i) ,也就是其中一個表,但是實際上還是不同。

    不死才奇怪...

    2006年10月19日 上午 09:01
    版主
  • 因為AxDataGrid可以直接在datagrid中做修改,不需另外做「修改」button,因為我想做整批似的修改,如果經過篩選之後把一大批的資料篩選出來在Axdatagrid中直接把所有資料的某一欄位直接修改掉,所以才想用AxDataGrid這項工具來做><"原本想做到「批次修改」的,可是不知該如何下手,還是其他大大了解如果要做「批次修改」該如何寫程式呢?第一次碰到新的要求功能,完全無概念><"
    2006年10月19日 上午 09:10
  • 批次修改?都是改成同一個值嗎?用SQL語法Update去做不知到合不合用?

    另外Datagridview也可以做直接編輯的動作,只是改完要記得Update回去~

     

    2006年10月19日 上午 09:22
  • 我想要的是想把其中一欄位的所有的值都改掉,可是如果用sql的update去做的話可以做到我想要的「批次修改」的意思嗎?如果用Datagridview如果還要有個update Button去update的話,就與我的想法不太合哩><"因為我想直接在datagrid中把值改掉就直接存回資料庫,不想還要讓使用者去多做這個按button的動作,有其他方法可以達到我的理想化嗎><"

    另外還想請教datagrid中有沒有核取方塊的功能,例如這麼多筆資料中(100筆)我想選某20筆來做批次修改,如果有核取方塊的功能的話,就能選取要哪幾筆可以來做批次修改。

     

    2006年10月20日 上午 01:09
  • 都是改成同一個值的話就很方便

    update 資料表名稱
    set 欄位1名稱 = '值', 欄位2名稱 = '值', 欄位3名稱 = '值'
    where 要篩選的欄位名稱(條件) = '值'

    2006年10月20日 上午 01:16
  • 請問璉大:另外還想請教datagrid中有沒有核取方塊的功能,例如這麼多筆資料中(100筆)我想選某20筆來做批次修改,如果有核取方塊的功能的話,就能選取要哪幾筆可以來做批次修改。是要改datagrid的哪個屬性呢?還是..........

    2006年10月20日 上午 01:52