0

我对 C#.NET (Visual Studio 2010) 有疑问。我在 SQL2005 express 中有 2 个数据表:

  1. 主键为“楼号”的楼,
  2. 和Aparatment,它的主键是“楼号”(楼表的外键)+“公寓号”。(公寓是建筑的弱实体,其关键是复合)。

这两个表都是我作为 DataSet 导入项目的更大数据库的一部分。我想在选择楼号和公寓号时显示公寓详细信息。建筑物编号设置在文本框中(其值始终是由不同控件选择的建筑物编号),我想要一个组合框仅显示文本框中建筑物具有的公寓编号,而不是表格中的所有公寓编号(这导致像 1, 2, 3, 1, 4, 5, 1, 2, ... (因为它选择所有行))。并非所有建筑物都共享相同的公寓编号或相同数量的公寓,我应该即时添加/更改/删除。

选择构建部分已完成并正在运行。我只是无法仅显示当前的建筑公寓(至少是我需要的公寓号码)。

我不想(更确切地说是不允许)使用数据网格。仅限“详细”控件。

我怎么做?我对 C# 几乎没有经验,也不知道如何使用 DataSets “最大限度地”工作。我想过可能会创建一个可以给我结果的视图,但我不知道如何导入视图并将建筑物编号设置为参数。也欢迎任何其他理智的方式。

请帮忙。

非常感谢,谢伊。

4

2 回答 2

0

我会为此创建两个下拉列表,其中它们的自动回发设置为 true。在页面加载时,我会选择所有建筑物 ID 并将它们放在其下拉列表中。当下拉列表更改时,会触发一个 onchange 事件,该事件会使用相应建筑物 ID 的所有公寓 ID 填充第二个下拉列表。

于 2011-07-29T13:54:33.083 回答
0

好的,我在这里挖掘了更多,找到了第二个问题的答案。感谢罗斯提供 DataRow[] 解决方案以及如何填充它(即第一步)。对于后代,这里是相关代码:

DataRow[] apartmentCollection = dbBonusHwDataSet.tblApartment.Select("buildingNum='" + Convert.ToInt16(buildingNum_textbox.Text.ToString()) + "'");

apartmentNum_combox.DataSource = 公寓集合;

apartmentNum_combox.DisplayMember = "apartmentNum";

我不知道为什么代码块显示不正确。很抱歉现在使用 IE。但是我在代码选项卡中看不到代码...

于 2011-07-30T00:00:50.703 回答