[英]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.