我想创建一个允许用户输入数据的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>
答案 0 :(得分:1)
您必须将用户要编辑的单元格(或整个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
希望有所帮助
答案 1 :(得分:0)
为了能够编辑DataGrid
中的项目,您需要将其ItemsSource
属性设置为IList
。
您不能将项目直接添加到Items
属性,如下所示:
flowgrid.Items.Add(new Account());
相反,您应该设置ItemsSource
属性:
flowgrid.ItemsSource = new List<Acccount>() { ... };