我来到了PetaPoco,并决定尝试一下 有没有人来过这个样本的WindowsForms应用程序?到目前为止,我只找到了示例Web应用程序。
我理解PetaPoco的概念与NHibranate类似,但我没有找到一个示例来查看如何将Grid绑定到查询结果。如果有人拿到一个,那么Best将是一个示例应用程序。
答案 0 :(得分:2)
您可以像这样绑定Winform DataGridView:
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
答案 1 :(得分:1)
您应该能够直接绑定到List<T>
返回的public IEnumerable<T> Query<T>(string sql, params object[] args)
- 来自PetaPoco.cs @ source on GitHub
答案 2 :(得分:0)
即使是很老的话,也许有人需要这个。 直接绑定到List以及它。
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