Я новичок в разработке 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);
}
Пример кода, может быть? –
Обновлено с помощью моего кода, не вижу, как это может быть полезно – Morgoth