public void FillTree() { SaveID(); if (!Places) { tree.BeginUpdate(); tree.Nodes.Clear(); tree.TableName = "Инвентаризация.dbo.ЛицаЗаказчики"; tree.IDField = "КодЛица"; tree.TextField = "КраткоеНазваниеРус"; DTreeNode rootNode = new DTreeNode(0, "Все"); tree.Nodes.Add(rootNode); using (DataTable dt = GetCompanies(placeID, false)) { foreach (DataRow dr in dt.Rows) { var node = new DTreeNode( (int)dr["КодЛица"], (dr["Лицо"].ToString() != "") ? dr["Лицо"].ToString() : dr["Кличка"].ToString()); rootNode.Nodes.Add(node); } dt.Dispose(); } rootNode.ExpandAll(); tree.EndUpdate(); } else { const string querySelect = "SELECT " + "Должности.КодДолжности," + "Должности.Должность," + "Должности.Подразделение," + "ISNULL(Лица.Лицо,'Организация '+Convert(varchar,Должности.КодЛица)) организация," + "ISNULL(U2.Сотрудник,'[вакантно]') сотрудник," + "Должности.Совместитель," + "Должности.Parent," + "Должности.L," + "Должности.R," + "ISNULL(U1.ФИО,'[неизвестно]') AS Изменил," + "Должности.Изменено " + "FROM Инвентаризация.dbo.vwДолжности Должности"; string queryJoin = "LEFT OUTER JOIN Инвентаризация.dbo.Сотрудники U1 ON Должности.Изменил = U1.КодСотрудника " + "LEFT OUTER JOIN Инвентаризация.dbo.Сотрудники U2 ON Должности.КодСотрудника = U2.КодСотрудника " + "INNER JOIN " + ExternServer + ".Справочники.dbo.vwЛицаХолдинга Лица ON Должности.КодЛица = Лица.КодЛица"; const string queryWhere = "WHERE Должности.Подразделение <> ''"; const string queryOrderBy = ""; //"ORDER BY L"; tree.SetQueryString(querySelect, queryJoin, queryWhere, queryOrderBy); tree.TableName = "Инвентаризация.dbo.vwДолжности"; tree.IDField = "КодДолжности"; tree.TextField = "Подразделение"; tree.Fill(); } if (tree.Nodes.Count > 0) { tree.SelectedNode = (DTreeNode)tree.Nodes[0]; } LoadID(); }