2014-09-29 2 views
0

Я новичок в разработке lightwitch, до сих пор мне очень не нравится. У меня есть следующая проблема:Устранение круговой рекурсии в Lightswitch

У меня есть таблица, называемая сотрудниками, у каждого сотрудника есть босс, который также является сотрудником. Я хотел бы представить пользователю выбор боссов, который не допускает никакой круговой рекурсии, так, например, если я хочу выбрать босса человека А, тогда человек Б не будет показан, если человек А является боссом человека Б.

Я могу написать весь код, чтобы сделать это, моя проблема заключается в том, что я не могу понять, как заполнить элемент управления каким-то методом, может кто-то, пожалуйста, дайте мне пошаговое руководство.

По просьбе «Микко 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

Пример кода, может быть? –

+0

Обновлено с помощью моего кода, не вижу, как это может быть полезно – Morgoth

ответ

0

Моргот - хотя ты разбила мое сердце, когда вы сказали, что не нравится LightSwitch :(. - Я собираюсь попробовать и, надеюсь, передумаете

вы пытаетесь просто заселяйте Silverlight Control программно из некоторого метода экрана? Это пользовательский контроль? Если это так вы читали что-нибудь вроде этого: 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

Вы должны быть в состоянии отфильтровать данные из списка, который не имеет отношения к работнику (который, как я считаю, Бет делает в статье)

Смежные вопросы