簡體   English   中英

WPF和C#可寫DataGrid

[英]wpf and c# writeable datagrid

我想制作一個可以允許用戶輸入數據的DataGridView工作表。

以下是我的datagrid的xaml代碼

<DataGrid AutoGenerateColumns="True" 
    Height="710" 
    HorizontalAlignment="Left" 
    Name="flowgrid" 
    VerticalAlignment="Top" 
    Width="1000" Margin="181,91,0,0" SelectionChanged="dataGrid1_SelectionChanged">

    <DataGrid.Columns >
        <DataGridTextColumn Header="Account Details" 
            x:Name="value1" IsReadOnly="True"   MinWidth="180" />
        <DataGridTextColumn Header="Due Date"   MinWidth="100" />
        <DataGridTextColumn Header="Standard Amount"   MinWidth="100" />
        <DataGridTextColumn Header="Current"   MinWidth="100" />
        <DataGridTextColumn Header="Week 1"  MinWidth="100" />
        <DataGridTextColumn Header="Week 2"  MinWidth="100" />
        <DataGridTextColumn Header="Week 3"  MinWidth="100" />
        <DataGridTextColumn Header="Week 4"  MinWidth="100" />
        <DataGridTextColumn Header="After"  MinWidth="150" />
    </DataGrid.Columns>
</DataGrid>

您必須將要用戶(或整個DataGrid)編輯的單元格的IsReadOnly屬性設置為False

IsReadOnly="False"

另外,如果要讓用戶添加新行,可以將CanUserAddRows屬性設置為True

CanUserAddRows="True"

要將數據輸入到dataGrid中,我需要這樣做:1-清空xaml文件中的dataGrid:2-創建帶有標題和數據的Datatable對象3-將其設置為datagrid的ItemSource

XAML:

<DataGrid Name="dataGrid"></DataGrid>

VB:

Dim inputDataDB As DataTable
inputDataDB = getInputData()

dataGrid.ItemsSource = inputDataDB .DefaultView

希望對你有幫助

為了能夠在DataGrid編輯項目,需要將其ItemsSource屬性設置為IList

您不能像這樣直接將項目添加到Items屬性:

flowgrid.Items.Add(new Account());

相反,您應該設置ItemsSource屬性:

flowgrid.ItemsSource = new List<Acccount>() { ... };

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM