소스 검색

Сортировка по статусу имбаааа

Danila Alekseev 1 년 전
부모
커밋
34ba498572
3개의 변경된 파일46개의 추가작업 그리고 22개의 파일을 삭제
  1. 1 1
      ROGOZ/App.config
  2. 1 1
      ROGOZ/Pages/TaskList.xaml
  3. 44 20
      ROGOZ/Pages/TaskList.xaml.cs

+ 1 - 1
ROGOZ/App.config

@@ -8,7 +8,7 @@
     <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.7.2" />
   </startup>
   <connectionStrings>
-    <add name="user1Entities" connectionString="metadata=res://*/Model1.csdl|res://*/Model1.ssdl|res://*/Model1.msl;provider=System.Data.SqlClient;provider connection string=&quot;data source=SRV-WSR\IS4;initial catalog=user1;user id=user1;password = ScladniyParol;MultipleActiveResultSets=True;App=EntityFramework&quot;" providerName="System.Data.EntityClient" />
+    <add name="user1Entities" connectionString="metadata=res://*/Model1.csdl|res://*/Model1.ssdl|res://*/Model1.msl;provider=System.Data.SqlClient;provider connection string=&quot;data source=VPMT.RU\IS4;initial catalog=user1;user id=user1;password = ScladniyParol;MultipleActiveResultSets=True;App=EntityFramework&quot;" providerName="System.Data.EntityClient" />
   </connectionStrings>
   <entityFramework>
     <defaultConnectionFactory type="System.Data.Entity.Infrastructure.LocalDbConnectionFactory, EntityFramework">

+ 1 - 1
ROGOZ/Pages/TaskList.xaml

@@ -15,7 +15,7 @@
             <RowDefinition Height="*"/>
         </Grid.RowDefinitions>
         <StackPanel Orientation="Horizontal" HorizontalAlignment="Center" Grid.RowSpan="2" Width="725">
-            <ComboBox Margin="10" Padding="6 5" Width="200" Height="40" Name="CmbStatusSort" FontSize="18" Text="{Binding Status}" DisplayMemberPath="Name" Style="{DynamicResource ComboBoxStyle1}" ItemContainerStyle="{DynamicResource AddTaskCmbItem}" SelectionChanged="CmbStatusSort_SelectionChanged">
+            <ComboBox Margin="10" Padding="6 5" Width="200" Height="40" Name="CmbStatusSort" FontSize="18" Text="{Binding Status}" DisplayMemberPath="Name" Style="{DynamicResource ComboBoxStyle1}" ItemContainerStyle="{DynamicResource AddTaskCmbItem}" LostFocus="CmbStatusSort_LostFocus" SelectionChanged="CmbStatusSort_SelectionChanged" >
                 
             </ComboBox>
 

+ 44 - 20
ROGOZ/Pages/TaskList.xaml.cs

@@ -68,14 +68,10 @@ namespace ROGOZ.Pages
             }
         }
 
-        private void CmbStatusSort_SelectionChanged(object sender, SelectionChangedEventArgs e)
-        {
-            UpdateTasks();
-        }
+
 
         private void TBoxSearch_TextChanged(object sender, TextChangedEventArgs e)
         {
-
             UpdateTasks();
         }
 
@@ -84,32 +80,60 @@ namespace ROGOZ.Pages
             CmbExecutorSort.SelectedIndex = -1;
             CmbStatusSort.SelectedIndex = -1;
             TBoxSearch.Clear();
-            //UpdateTasks();
+            UpdateTasks();
         }
         private void UpdateTasks()
         {
             var tasks = user1Entities.GetContext().Task.ToList();
-            //var manager = user1Entities.GetContext().Executor.ToList();
 
             //сортировка по статусу
-
-            // работает но список обновляется после нажатия есчо раз
-            if (CmbStatusSort.SelectedIndex == -1)
-                tasks = tasks.OrderBy(p => p.Status).ToList();
-            else
-                tasks = tasks.Where(p => p.Status == CmbStatusSort.Text).ToList();
-
+            if (CmbStatusSort.SelectedIndex == -1 || CmbStatusSort.Text == null)
+                DGTasks.ItemsSource = tasks.OrderBy(p => p.Status).ToList();
+            //if (CmbStatusSort.SelectedIndex != -1 || CmbStatusSort.Text != null)
+            //    DGTasks.ItemsSource = tasks.Where(p => p.Status == CmbStatusSort.Text).ToList();
+            //else
+            //    DGTasks.ItemsSource = tasks.OrderBy(p => p.Status).ToList();
 
             //сортировка по исполнителю
-            if (CmbExecutorSort.SelectedIndex == -1)
-                tasks = tasks.OrderBy(p => p.Executor.User.MiddleName).ToList();
-            else
-                tasks = tasks.Where(p => p.Executor.User.getFIO().ToString() == CmbStatusSort.Text).ToList();
+            //if (CmbExecutorSort.SelectedIndex == -1)
+            //    tasks = tasks.OrderBy(p => p.Executor.User.MiddleName).ToList();
+            //else
+            //    tasks = tasks.Where(p => p.Executor.User.getFIO().ToString() == CmbStatusSort.Text).ToList();
 
             //сортировка по поиску
-            tasks = tasks.Where(p => p.Title.ToLower().Contains(TBoxSearch.Text.ToLower())).ToList(); // работает
+            DGTasks.ItemsSource = tasks.Where(p => p.Title.ToLower().Contains(TBoxSearch.Text.ToLower())).ToList(); // 
+
+
 
-            DGTasks.ItemsSource = tasks;
+            //private void CmbStatusSort_LostFocus(object sender, RoutedEventArgs e)
+            //{
+            //    var tasks = user1Entities.GetContext().Task.ToList();
+            //    if(CmbStatusSort.Text != null || CmbStatusSort.SelectedIndex != -1)
+            //    {
+            //        DGTasks.ItemsSource = tasks.Where(x => x.Status == CmbStatusSort.Text).ToList();
+            //    }
+            //    else
+            //        DGTasks.ItemsSource = user1Entities.GetContext().Task.ToList();
+            //}
+        }
+
+        //private void CmbStatusSort_SelectionChanged(object sender, SelectionChangedEventArgs e)
+        //{
+        //    UpdateTasks();
+        //}
+
+        private void CmbStatusSort_LostFocus(object sender, RoutedEventArgs e)
+        {
+            var tasks = user1Entities.GetContext().Task.ToList();
+            if (CmbStatusSort.SelectedIndex != -1 )
+                DGTasks.ItemsSource = tasks.Where(p => p.Status == CmbStatusSort.Text).ToList();
+            //if (CmbStatusSort.SelectedIndex == -1 )
+            //    DGTasks.ItemsSource = user1Entities.GetContext().Task.ToList();
+        }
+
+        private void CmbStatusSort_SelectionChanged(object sender, SelectionChangedEventArgs e)
+        {
+            UpdateTasks();
         }
     }
 }