我如何使用WPF复制数据网格的特定单元格中的值

时间:2019-02-17 23:37:55

标签: c#

我正在编写一个小型程序,可以使我的大学中的某些任务更轻松。我已经开始学习wpf,但是我了解其他一些编程语言。我选择wpf是因为我已经了解了有关MVVM的强大绑定机制,这将对我的程序很有帮助。

我有2个文件,一个是xml,另一个是.csv。在第一步中,我编写了代码以读取xml和csv文件的内容。我创建了一些datagrid模板列,并将这些列绑定到xml文件的元素。我有3栏。 (所有从xml读取的ID开头都是错误的,因此,我需要csv文件)

1学生姓名 2他们正在参观的课程 当然是3个ID Nr

每门课程都有相同的ID号,此ID号在我的.csv文件中,其余的在xml中。

我创建了5个文本框,本学期总共有5门课程。

每个学生都在参观每门课程(5)

我为每个学生有5行(名称列A,名称出现5次)课程名称(列B),列C应该是课程的ID。我还已经将.csv文件读入另一个datagrid(文本框也是一个选项)。每个ID在我的.csv文件中出现1次,我大约有100名学生,是同一门课程名称的100倍...使用excel进行此操作很容易,对于下一个...

我现在遇到的问题是,我不知道如何将值(现在它们在文本框中,每个ID为1)复制到Datagrid的单元格中?我有一个按钮,例如..我想单击按钮来复制值。这是我的代码:xaml

<Window x:Class="Wpf_ReadXml.MainWindow"
        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
        Title="SummerSemester" Height="350" Width="525">
    <Grid>
        <DataGrid AutoGenerateColumns="False" Height="Auto" IsReadOnly="False" MinHeight="300"  HorizontalAlignment="Left" Margin="10" Name="dataGrid1" VerticalAlignment="Top" Width="Auto" MinWidth="500"  >
            <DataGrid.Columns>
                <DataGridTemplateColumn Header="StudentName">
                    <DataGridTemplateColumn.CellTemplate>
                        <DataTemplate>
                            <TextBox x:Name="keyCellTextbox" Text="{Binding Path=Element[Name].Value, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}"/>
                        </DataTemplate>
                    </DataGridTemplateColumn.CellTemplate>
                </DataGridTemplateColumn>

                <DataGridTemplateColumn Header="Course">
                    <DataGridTemplateColumn.CellTemplate>
                        <DataTemplate>
                            <TextBox x:Name="keyCellTextbox" Text="{Binding Path=Element[Course].Value, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}"/>
                        </DataTemplate>
                    </DataGridTemplateColumn.CellTemplate>
                </DataGridTemplateColumn>

                <DataGridTemplateColumn Header="ID">
                    <DataGridTemplateColumn.CellTemplate>
                        <DataTemplate>
                            <TextBox x:Name="CellTextbox" Text="{Binding Path=Element[ID].Value, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}"/>
                        </DataTemplate>
                    </DataGridTemplateColumn.CellTemplate>
                </DataGridTemplateColumn>
            </DataGrid.Columns>
        </DataGrid>
    </Grid>
</Window>

0 个答案:

没有答案