2014-09-29 41 views
0

我是lightswitch开发的新手,迄今为止我非常不喜欢它。我有以下问题:消除Lightswitch中的循环递归

我有一张叫雇员的表,每个雇员都有一个老板,这也是一名雇员。我想向用户展示不允许任何循环递归的老板选择,例如,如果我想选择A的老板,那么如果A是B的老板,B就不会显示。

我可以编写所有的代码来做到这一点,我的问题是我无法弄清楚如何从某种方法填充某种控件,有人请给我一步一步的指导。

为每“米克Viitala”请求

我不会介意将控件绑定到其内容从员工的表中加载和检查具有以下功能有效性的动态生成的列表:

// Checks for circular recursion, retuns true if safe. 
public static bool CheckForCircularRecursion(Employee emp) 
{ 
    if (emp.Boss != null && emp.Id == emp.Boss.Id) 
     return false; 
    return CheckForCircularRecursion_Inner(emp, emp); 
} 

// Returns true if safe 
private static bool CheckForCircularRecursion_Inner(Employee original, Employee emp) 
{ 
    if (emp.Boss == null) 
     return true; 
    else if (emp.Boss == original) 
     return false; 
    else 
     return CheckForCircularRecursion_Inner(original, emp.Boss); 
} 
+0

示例代码,也许? – 2014-09-29 16:58:07

+0

用我的代码更新了它,没有看到它如何有用 – Morgoth 2014-09-29 17:05:12

回答

0

魔苟斯 - 尽管你的时候,你说你不喜欢的LightSwitch :(伤了我的心脏 - 我要去尝试,并希望改变主意

你是不是想只是从一些屏幕方法编程地填充一些Silverlight控件? 这是一个自定义控件吗?如果是这样你读过这样的事:http://msdn.microsoft.com/en-us/library/gg674919.aspx

贝丝·马西对填充列表 http://blogs.msdn.com/b/bethmassi/archive/2011/09/15/filtering-lookup-lists-with-large-amounts-of-data-on-data-entry-screens.aspx

您应该能够从不相关的员工名单中筛选,我们的数据(一些好文章我相信Beth在文章中所做的)