【问题标题】:Mapping values in dropdown在下拉列表中映射值
【发布时间】:2014-03-17 16:15:02
【问题描述】:

表 1:

ID 
1
2
3 
4
5
6
7
8
9
0

我必须在此 ID 列中创建名为 MasterIDChildID 的下拉列表。 MasterID & ChildID 将具有基于映射的 ID 列值。映射过程就像ID 列中的任何值可以是MasterIDChildID。但是MasterID 将拥有唯一的ChildID

注意:在绑定 MasterIDChildID 下拉列表时,它在页面加载时将具有 ID 值。一旦映射开始,那么值应该相应地出现。此外,我的页面中有一个添加按钮,一旦我在两个下拉列表中选择值并添加,它们就会保存在数据库中。

例如:如果我选择 MasterID 中的 ID 值 1 和 ChildID 中的 5 并将它们添加到 DB,那么下次来自 ID 列的值 1 可以进入 MasterID 下拉列表但不在ChildID 中。此外,ID 列中的值 5 映射到 ChildID 并保存,该值不应出现在 MasterIDChildID 下拉列表中。一旦选择任何值作为ChildID and saved, then it shouldn't get displayed inMasterIDor inChildID` 下拉菜单。

最终输出应该是这样的。

表 2:

MasterID    ChildID
   1           5
   2           3
   2           6
   4           7
   4           8
   9           0

谁能帮助我或建议我如何为 asp.net 网络应用程序实现这一目标。

【问题讨论】:

  • 你做了什么?向我们展示您的部分代码。
  • 我没有做任何代码。我可以绑定数据库中的下拉值。但我坚持映射并将值限制为 MasterID 和 ChildID。
  • 在将主 ID 映射到子 ID 后,您需要在那里。但是映射后的下拉菜单中不应出现子 ID。我说的对吗?
  • 目前还不清楚究竟是什么预期的。如果选择一个值作为 ChildID 并保存,则您的意思是它不应出现在任一下拉列表中。那么这些下拉菜单中应该出现什么?我们在这里谈论多少个 ID?这些 ID 是在数据库中还是在您的 .net 应用中生成的?
  • @Jegadeesh - 是的,在映射子代码后不应出现在任何下拉菜单中。

标签: c# asp.net sql .net c#-4.0


【解决方案1】:

您可以使用 LINQ 过滤需要在两个下拉列表中显示的值。 类似于以下内容。

int[] table1 = new int[] { 1, 2, 3, 4, 5, 6, 7, 8, 9, 0 };
int[] tableMaster = new int[] { 1, 2, 2, 4, 4, 9 };
int[] tableChild = (from t in table1
                    where !tableMaster.Contains(t)
                    select t).ToArray();

注意:这只是一个示例,以便您了解。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-12-08
    • 1970-01-01
    • 1970-01-01
    • 2021-09-13
    • 2023-03-25
    • 2021-05-30
    • 2021-07-31
    相关资源
    最近更新 更多