0

私はPetaPocoに 出くわし、試してみることにしました。これを使ってサンプルのWindowsFormsアプリに出くわした人はいますか?これまでのところ、サンプルのWebアプリケーションしか見つかりませんでした。

NHibranateに似たPetaPocoの概念は理解していますが、グリッドをクエリの結果にバインドする方法を確認するための例を見つけることができませんでした。誰かが手元にある場合は、サンプルアプリが最適です。

4

3 に答える 3

2

次のようにWinformDataGridViewをバインドできます。

    Dim ppdb = New PetaPoco.Database("Data Source=XXXX;Initial Catalog=xxxx;Integrated Security=True;", "System.Data.SqlClient")
    Dim blTable = New BindingList(Of TableItem)(ppdb.Query(Of TableItem)("select * from table").ToList)
    Dim bsTable As New BindingSource(blTable, "")
    DataGridView.DataSource = bsTable

変更を保持する場合は、オブジェクトをデータベースに保存し直す必要があります。

POCOを行にバインドするには、次を使用します。

Dim obj = DataGridView.Rows(RowIndex).DataBoundItem
于 2012-06-27T20:50:24.263 に答える
1

List<T>返されたに直接バインドできるはずですpublic IEnumerable<T> Query<T>(string sql, params object[] args)-GitHubのPetaPoco.cs@sourceの752行目から取得した例

于 2012-06-27T12:38:54.963 に答える
0

かなり古いスレッドですが、誰かがこれを必要とするかもしれません。リストに直接バインドすると、それだけです。

    using (var db = new PetaPoco.Database(string_connection, string_provider))
    {
        try
        {
            var ret = db.Query<MyTable>("select * from my_table_name").ToList();

            if(ret != null)
            {
                dgv.DataSource = ret; 
            }
        }
        catch (Exception ex)
        {
            Trace.WriteLine("Error: " + ex.Message); 
        }
    } // using
于 2015-06-02T12:29:48.173 に答える