2016-06-25 9 views
0

FlowDocumentScrollViewer In diesem Steuerelement habe ich Tabelle und Zeilen verwendet, aber ich möchte dynamisch Zeilen in der Laufzeit und auch wenn ich auf Enter-Taste dann speichern Datensätze in der Datenbank und eine neue Zeile hinzufügen in dieser Tabelle.Wie dynamisch neue Zeilen in Table Control in WPF ... hinzufügen?

Q (1) Ist es möglich ...?

wenn ja Dann bitte helfen.

Code hier:

       </TableCell> 
          </TableRow>        
          <TableRow> 
           <TableCell> 
            <Paragraph>F9,F1 P.R.C</Paragraph> 
           </TableCell> 
           <TableCell> 
            <Paragraph>O.A No</Paragraph> 
           </TableCell> 
           <TableCell> 
            <Paragraph>O.A SI</Paragraph> 
           </TableCell> 
           <TableCell> 
            <Paragraph>Heat No</Paragraph> 
           </TableCell> 
           <TableCell> 
            <Paragraph>Pour Date</Paragraph> 
           </TableCell> 
           <TableCell> 
            <Paragraph>Grade</Paragraph> 
           </TableCell> 
           <TableCell> 
            <Paragraph>Product</Paragraph> 
           </TableCell> 
           <TableCell> 
            <Paragraph>W.I.P</Paragraph> 
           </TableCell> 
           <TableCell> 
            <Paragraph>Heat Treat</Paragraph> 
           </TableCell> 
           <TableCell> 
            <Paragraph>Final Clearance</Paragraph> 
           </TableCell> 
           <TableCell> 
            <Paragraph>Fett</Paragraph> 
           </TableCell> 
          </TableRow> 
          <TableRow> 
           <TableCell> 
            <Paragraph> 
             <TextBox Width="100"></TextBox> 
            </Paragraph> 
           </TableCell> 
           <TableCell> 
            <Paragraph> 
             <TextBox Width="100"></TextBox> 
            </Paragraph> 
           </TableCell> 
           <TableCell> 
            <Paragraph> 
             <TextBox Width="50"></TextBox> 
            </Paragraph> 
           </TableCell> 
           <TableCell> 
            <Paragraph> 
             <TextBox Width="100"></TextBox> 
            </Paragraph> 
           </TableCell> 
           <TableCell> 
            <Paragraph> 
             <TextBox Width="100"></TextBox> 
            </Paragraph> 
           </TableCell> 
           <TableCell> 
            <Paragraph> 
             <TextBox Width="100"></TextBox> 
            </Paragraph> 
           </TableCell> 
           <TableCell> 
            <Paragraph> 
             <TextBox Width="100"></TextBox> 
            </Paragraph> 
           </TableCell> 
           <TableCell> 
            <Paragraph> 
             <TextBox Width="50"></TextBox> 
            </Paragraph> 
           </TableCell> 
           <TableCell> 
            <Paragraph> 
             <TextBox Width="30"></TextBox> 
            </Paragraph> 
           </TableCell> 
           <TableCell> 
            <Paragraph> 
             <TextBox Width="30"></TextBox> 
            </Paragraph> 
           </TableCell> 
           <TableCell> 
            <Paragraph> 
             <TextBox Width="30"></TextBox> 
            </Paragraph> 
           </TableCell> 
          </TableRow> 
         </TableRowGroup> 
        </Table> 
       </FlowDocument> 
      </FlowDocumentScrollViewer> 

Bitte lesen Sie Bild meines Codes OutPut:

Antwort

0

ich gezeigt, wie Sie Zeilen in eine Tabellenzeile mit einer einfachen Anwendung hinzufügen können. Zuerst müssen wir einige XAML-Code:

<Window 
    x:Class="WpfApplication1.MainWindow" 
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" 
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" 
    xmlns:d="http://schemas.microsoft.com/expression/blend/2008" 
    xmlns:local="clr-namespace:WpfApplication1" 
    xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" 
    Title="MainWindow" 
    Width="525" 
    Height="350" 
    mc:Ignorable="d"> 
    <Grid> 
     <Grid.RowDefinitions> 
      <RowDefinition Height="*" /> 
      <RowDefinition Height="Auto" /> 
     </Grid.RowDefinitions> 
     <FlowDocumentScrollViewer> 
      <FlowDocument> 
       <Table Name="tblDummyData"> 
        <TableRowGroup> 
         <TableRow> 
          <TableCell> 
           <Paragraph> 
            <TextBlock Text="1.1" /> 
           </Paragraph> 
          </TableCell> 
          <TableCell> 
           <Paragraph> 
            <TextBlock Text="1.2" /> 
           </Paragraph> 
          </TableCell> 
          <TableCell> 
           <Paragraph> 
            <TextBlock Text="1.3" /> 
           </Paragraph> 
          </TableCell> 
         </TableRow> 
         <TableRow> 
          <TableCell> 
           <Paragraph> 
            <TextBlock Text="2.1" /> 
           </Paragraph> 
          </TableCell> 
          <TableCell> 
           <Paragraph> 
            <TextBlock Text="2.2" /> 
           </Paragraph> 
          </TableCell> 
          <TableCell> 
           <Paragraph> 
            <TextBlock Text="2.3" /> 
           </Paragraph> 
          </TableCell> 
         </TableRow> 
         <TableRow> 
          <TableCell> 
           <Paragraph> 
            <TextBlock Text="3.1" /> 
           </Paragraph> 
          </TableCell> 
          <TableCell> 
           <Paragraph> 
            <TextBlock Text="3.2" /> 
           </Paragraph> 
          </TableCell> 
          <TableCell> 
           <Paragraph> 
            <TextBlock Text="3.3" /> 
           </Paragraph> 
          </TableCell> 
         </TableRow> 
         <TableRow> 
          <TableCell> 
           <Paragraph> 
            <TextBlock Text="4.1" /> 
           </Paragraph> 
          </TableCell> 
          <TableCell> 
           <Paragraph> 
            <TextBlock Text="4.2" /> 
           </Paragraph> 
          </TableCell> 
          <TableCell> 
           <Paragraph> 
            <TextBlock Text="4.3" /> 
           </Paragraph> 
          </TableCell> 
         </TableRow> 
        </TableRowGroup> 
       </Table> 
      </FlowDocument> 
     </FlowDocumentScrollViewer> 

     <Button Content="Add" Click="Button_Click" Grid.Row="1" /> 
    </Grid> 
</Window> 

Wie man hier nichts Besonderes sehen, nur eine Tabelle mit Haufen von Zeilen und Zellen und eine Taste für die Zeilen hinzufügen.

So, hier ist das, was hinter diesem Code legt:

public partial class MainWindow : Window 
{ 
    public MainWindow() 
    { 
     InitializeComponent(); 
    } 

    private void Button_Click(object sender, RoutedEventArgs e) 
    { 
     var rowGroup = tblDummyData.RowGroups.FirstOrDefault(); 

     if (rowGroup != null) 
     { 
      TableRow row = new TableRow(); 

      TableCell cell = new TableCell(); 

      cell.Blocks.Add(new Paragraph(new Run("New Cell 1"))); 
      row.Cells.Add(cell); 

      cell = new TableCell(); 
      cell.Blocks.Add(new Paragraph(new Run("New cell 2"))); 
      row.Cells.Add(cell); 

      cell = new TableCell(); 
      cell.Blocks.Add(new Paragraph(new Run("New cell 3"))); 
      row.Cells.Add(cell); 

      rowGroup.Rows.Add(row); 
     } 
    } 

Hier können Sie sehen, wie eine Tabellenzeile zu definieren, als es mit so vielen Zellen zu füllen, wie Sie es in Ihrer Zeilengruppe benötigen und anhänge. In meinem Fall habe ich nur eine Zeilengruppe, aber Sie können sie mit linq abfragen und erhalten, welche Zeile Gruppe Sie benötigen.

Hoffe, dass hilft.

+0

vielen Dank Ihr Code ist sehr hilfreich für mich –

+0

Vergessen Sie nicht, es als eine Antwort dann zu akzeptieren :) –