none
WPF Toolkit DataGrid, problème sur les Opérations simples RRS feed

  • Question

  • Bonjour,

    J'ai pas mal de petit problème sur le datagrid de WPF pour des opérations simples ... Je débute et je n'ai pas encore saisie le fonctionnement ..

    En parcourant les tutoriels voici ce que j'ai fait :

    'Liaison linq to SQL 
    ' Dans le constructeur du mainWindows
        InitializeComponent()   
     _DbAnance = New AnanceDataContext
        DataGridTask.DataContext = _DbAnance ' a quoi ca sert ?
    
        Dim queryList = (From Task In _DbAnance.TASK
             Join Pln In _DbAnance.T_ARBO_PLN On Task.PLAN_ID Equals Pln.PLN_ID
            Join Fal In _DbAnance.T_ARBO_FAL On Task.FAL_ID Equals Fal.FAL_ID
           Join Stn In _DbAnance.T_ARBO_STN On Task.STN_ID Equals Stn.STN_ID
          Join MonHc In _DbAnance.HC On Task.HC_ID Equals MonHc.HC_ID).ToList()
        DataGridTask.ItemsSource = queryList.Select(
                   Function(maTask) New With
                           {maTask.Task.TASK_NAME, maTask.Pln.PLN_NAME, maTask.Fal.FAL_NAME, maTask.Stn.STN_NAME, maTask.Task.DATE_START, maTask.Task.DURATION}).ToList()

     

     

    Voici le code Xaml tres simple meme s'il comporte beaucoup de ligne :

    <Window x:Class="MainWindow"
    	xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    	xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
    	Title="Gestion intégrée BETA" Height="731" Width="880"
     xmlns:System="clr-namespace:System;assembly=mscorlib"
    	xmlns:staticData="clr-namespace:GestionIntegree"
    	xmlns:my="http://schemas.microsoft.com/wpf/2008/toolkit"
    	Visibility="Visible" WindowStyle="ToolWindow" >
     <Window.Resources>
      <staticData:FalList x:Key="FalList"/>
     </Window.Resources>
     
     <Grid x:Name="GridMain" RenderTransformOrigin="0.495,0.536">
    		<Grid.RowDefinitions>
    			<RowDefinition Height="Auto" MinHeight="448" />
    			<RowDefinition Height="590*" />
    		</Grid.RowDefinitions>
    		<Grid.ColumnDefinitions>
    			<ColumnDefinition Width="Auto" MinWidth="604" />
    			<ColumnDefinition Width="866*" />
    		</Grid.ColumnDefinitions>
    		<my:DataGrid x:Name="DataGridTask" AutoGenerateColumns="False" Grid.ColumnSpan="2" Height="448" CanUserAddRows="True" CanUserDeleteRows="True" CanUserResizeColumns="False" CanUserReorderColumns="False" ClipToBounds="True">
       <my:DataGrid.Columns>
        <my:DataGridTemplateColumn Header="Nom de la tâche" Width="115">
         <my:DataGridTemplateColumn.CellTemplate>
          <DataTemplate>
           <TextBlock Height="22" Text="{Binding TASK_NAME}"/>
          </DataTemplate>
         </my:DataGridTemplateColumn.CellTemplate>
         <my:DataGridTemplateColumn.CellEditingTemplate>
          <DataTemplate>
           <TextBox Text="{Binding TASK_NAME}"/>
          </DataTemplate>
         </my:DataGridTemplateColumn.CellEditingTemplate >
        </my:DataGridTemplateColumn>
        <my:DataGridTemplateColumn Header="Chaine de Montage" Width="115" >
    						<my:DataGridTemplateColumn.CellTemplate>
    							<DataTemplate>
    							<TextBlock Text="{Binding FAL_NAME}"/>
    							</DataTemplate>
    					</my:DataGridTemplateColumn.CellTemplate>
    					<my:DataGridTemplateColumn.CellEditingTemplate>
    						<DataTemplate>
           <ComboBox Height="22" ItemsSource="{StaticResource FalList}" SelectedItem="{Binding FAL_NAME}"/>
    						</DataTemplate>
    					</my:DataGridTemplateColumn.CellEditingTemplate >
    				</my:DataGridTemplateColumn>
        <my:DataGridTemplateColumn Header="date de début" Width="100">
         <my:DataGridTemplateColumn.CellTemplate>
          <DataTemplate>
           <my:DatePicker Language="FR" SelectedDate="{Binding DATE_START}" />
          </DataTemplate>
         </my:DataGridTemplateColumn.CellTemplate>
         <my:DataGridTemplateColumn.CellEditingTemplate>
          <DataTemplate>
           <DatePicker Height="20" />
          </DataTemplate>
         </my:DataGridTemplateColumn.CellEditingTemplate >
        </my:DataGridTemplateColumn>
        <my:DataGridTemplateColumn Header="Durée" Width="48">
         <my:DataGridTemplateColumn.CellTemplate>
          <DataTemplate>
           <TextBlock Height="22" Text="{Binding DURATION}"/>
          </DataTemplate>
         </my:DataGridTemplateColumn.CellTemplate>
         <my:DataGridTemplateColumn.CellEditingTemplate>
          <DataTemplate>
           <TextBox Text="{Binding DURATION}"/>
          </DataTemplate>
         </my:DataGridTemplateColumn.CellEditingTemplate >
        </my:DataGridTemplateColumn>
       </my:DataGrid.Columns>
    		</my:DataGrid >	
       </Grid>
    </Window>
    

     

     

     

    Alors je n'arrive pas à ajouter une ligne dans mon datagrid malgré l'attribut CanUserAddRows="True"

    Et je n'arrive pas à mettre à jour mes informations en base avec cette fonction :

     

     Private Sub DataGridTask_CellEditEnding(ByVal sender As System.Object, ByVal e As Microsoft.Windows.Controls.DataGridCellEditEndingEventArgs) Handles DataGridTask.CellEditEnding
     _DbAnance.SubmitChanges()
     End Sub
    
    Merci d'avance pour votre aide précieuse !!!

     


    Cordialement, Albertini Olivier http://cv.albertini-olivier.com
    mardi 30 novembre 2010 10:26