如何解决有没有一种方法可以像在WinForms代码中那样轻松地将网格绑定到Xamarin中的表?
我是xamarin的新手,我需要轻松地将网格(或类似的东西)链接到MysqL数据库表。 在WinForms中,我是通过与设计者并用几行代码放置网格来实现的,但是使用Xamarin却无能为力。 我当前的项目是带有默认“标签”预设的XamarinForm。
这是WinForm代码:
try
{
MysqLConnection cnn;
string connetionString = "server=sql7.freesqldatabase.com;database=------;port=----;uid=-------;pwd=------;";
cnn = new MysqLConnection(connetionString);
DataTable dt = new DataTable();
MysqLCommand cmd;
cnn.open();
cmd = cnn.CreateCommand();
cmd.CommandText = "SELECT * from Products";
MysqLDataAdapter adapter = new MysqLDataAdapter(cmd);
adapter.Fill(dt);
dataGridView1.DataSource = dt; //dataGridView WinFrom component
cnn.Close();
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
}
在Xamarin中有没有办法做到这一点? (我的目标是在一个页面中显示所有数据库表)
解决方法
欢迎您!
虽然 Xamarin 可以直接将bc
用作来源,但还有另一种方法可以转换表日期并将其用于控件(例如{ {1}},DataTable
等。
例如,ItemSource可以设置如下:
CollectionView
这里DataGrid
是表数据的模型,您需要在Xamarin Forms中手动创建它。然后,应用程序将根据模型样式将表数据转换为列表数据。
MyDataGrid.ItemsSource = await TodoItemDatabase.Database.Table<TodoItem>().ToListAsync();
关于在Xamarin中使用数据库,您可以参考this official document。此处有a sample project供参考。上面的代码 TodoItemDatabase 类也基于此示例。
这是 TodoItemDatabase 类:
TodoItem
和 Constants 类,其中包含数据库名称和其他内容。
using SQLite;
public class TodoItem
{
[PrimaryKey,AutoIncrement]
public int ID { get; set; }
public string Name { get; set; }
public string Notes { get; set; }
public bool Done { get; set; }
}
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。