如何在 WPF 中将标签内容设置为数据库 table 单元格?
How do I set the content of a label to a database table cell in WPF?
我使用 Visual Basic 在 WPF 中构建了一个程序,允许用户从一系列项目中 select。当我添加更多项目或删除旧项目时,项目列表可能会发生变化。本来,我只是在项目代码中添加和删除这些项目,然后重建 executable.
然而,随着时间的推移,项目列表越来越多,并且在代码中维护起来变得乏味且不切实际。我突然想到,将项目存储在程序可以读取的数据库 table 中会更容易,并且可以通过从该数据库中添加和删除项目来更新列表。
我已经建立了数据库,并将其添加为数据源。我已设置数据连接,一切就绪。
我需要知道的是如何将标签的 Content
属性 设置为数据库中 table 的单元格。 我想在代码隐藏中执行此操作,而不是在标记中 (XAML)。
我的猜测是我需要设置一种带有 for
循环的查询来查找我想要的单元格。
数据库的名称是ItemsDB
。它包含一个名为 ItemsTable
的 table,table 中的字段有一个唯一的 ID(键),数据类型为 AutoNumber
。包含我想要的数据的列名为 ItemLabel
.
所以,总而言之,我想要一个标签来显示代码隐藏中指定的数据库中单个单元格的内容。 C# 或 VB 都可以。
编辑
我想我应该提到标签本身实际上用作按钮,如果没有必要,我真的不想显示 ListView
。我知道没有任何代码 posted 没有帮助,但我什至不知道从哪里开始,所以没有 post.
的代码
比我预期的要花费更长的时间,希望这仍然有用。因此,您想要做的是遍历一个集合并为每一行创建一个新的 Label
。
您需要一个 Labels
的容器,我使用 WrapPanel
,但您可以使用任何您想要的 Panel
。我将用简单的 DataTable
替换你的 Data Source
,你会明白这一点:
foreach (DataRow row in YourItemsTable.Rows)
{
Label newLabel = new Label();
newLabel.Content = row["ItemLabel"].ToString();
// If you need some events, attach the handlers here
yourParentContainerPanel.Children.Add(newLabel);
}
这就是您所需要的。
我使用 Visual Basic 在 WPF 中构建了一个程序,允许用户从一系列项目中 select。当我添加更多项目或删除旧项目时,项目列表可能会发生变化。本来,我只是在项目代码中添加和删除这些项目,然后重建 executable.
然而,随着时间的推移,项目列表越来越多,并且在代码中维护起来变得乏味且不切实际。我突然想到,将项目存储在程序可以读取的数据库 table 中会更容易,并且可以通过从该数据库中添加和删除项目来更新列表。
我已经建立了数据库,并将其添加为数据源。我已设置数据连接,一切就绪。
我需要知道的是如何将标签的 Content
属性 设置为数据库中 table 的单元格。 我想在代码隐藏中执行此操作,而不是在标记中 (XAML)。
我的猜测是我需要设置一种带有 for
循环的查询来查找我想要的单元格。
数据库的名称是ItemsDB
。它包含一个名为 ItemsTable
的 table,table 中的字段有一个唯一的 ID(键),数据类型为 AutoNumber
。包含我想要的数据的列名为 ItemLabel
.
所以,总而言之,我想要一个标签来显示代码隐藏中指定的数据库中单个单元格的内容。 C# 或 VB 都可以。
编辑
我想我应该提到标签本身实际上用作按钮,如果没有必要,我真的不想显示 ListView
。我知道没有任何代码 posted 没有帮助,但我什至不知道从哪里开始,所以没有 post.
比我预期的要花费更长的时间,希望这仍然有用。因此,您想要做的是遍历一个集合并为每一行创建一个新的 Label
。
您需要一个 Labels
的容器,我使用 WrapPanel
,但您可以使用任何您想要的 Panel
。我将用简单的 DataTable
替换你的 Data Source
,你会明白这一点:
foreach (DataRow row in YourItemsTable.Rows)
{
Label newLabel = new Label();
newLabel.Content = row["ItemLabel"].ToString();
// If you need some events, attach the handlers here
yourParentContainerPanel.Children.Add(newLabel);
}
这就是您所需要的。