我在上传excel表格并在gridview上显示值的页面。 Excel工作表有5列,其中3列具有bool值(TRUE / FALSE)。一切正常,但Gridview在相关列中添加了复选框,其中excel表具有bool值。 Gridview是
<asp:GridView ID="GridView3" runat="server" CellPadding="4" ForeColor="#333333"
GridLines="None" style="margin-top: 20px;width:100%;margin-bottom:20px; text-align:left"
>
<AlternatingRowStyle BackColor="White" />
<EditRowStyle BackColor="#FF9F00" />
<FooterStyle BackColor="#FF9F00" Font-Bold="True" ForeColor="White" />
<HeaderStyle BackColor="#FF9F00" Font-Bold="True" ForeColor="White" />
<PagerStyle BackColor="#FF9F00" ForeColor="White" HorizontalAlign="Center" />
<RowStyle BackColor="#FFD300" />
<SelectedRowStyle BackColor="#FF0000" Font-Bold="True" ForeColor="#333333" />
<SortedAscendingCellStyle BackColor="#FFD300" />
<SortedAscendingHeaderStyle BackColor="#FFD300" />
<SortedDescendingCellStyle BackColor="#FFD300" />
<SortedDescendingHeaderStyle BackColor="#FFD300" />
<Columns>
<asp:TemplateField HeaderText="SN">
<ItemTemplate>
<%# Container.DataItemIndex + 1 %>
</ItemTemplate>
</asp:TemplateField>
</Columns>
</asp:GridView>
答案 0 :(得分:-1)
只要您的Model包含bool列的属性,您就可以将这些属性绑定到DataGrid中的复选框。我有时在尝试绑定到DataGrid Checkbox时遇到麻烦,所以我做了类似的事情。
<DataGrid ItemsSource="{Binding SOME_COLLECTION, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}" AutoGenerateColumns="False" Margin="10" CanUserAddRows="False" VerticalScrollBarVisibility="Auto">
<DataGridTextColumn Header="Material" Binding="{Binding MATERIAL_PROPERTY}" IsReadOnly="True" />
<DataGridTextColumn Header="Quantity" Binding="{Binding QUANTITY_PROPERTY}" IsReadOnly="True" />
<DataGrid.Columns>
<DataGridTemplateColumn Header="Inspection?">
<DataGridTemplateColumn.CellTemplate>
<DataTemplate>
<CheckBox VerticalAlignment="Center" HorizontalAlignment="Center" IsChecked="{Binding Path=INSPECTION_PROPERTY, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}" />
</DataTemplate>
</DataGridTemplateColumn.CellTemplate>
</DataGridTemplateColumn>
<DataGridTemplateColumn Header="MRC?">
<DataGridTemplateColumn.CellTemplate>
<DataTemplate>
<CheckBox VerticalAlignment="Center" HorizontalAlignment="Center" IsChecked="{Binding Path=MRC_PROPERTY, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}" />
</DataTemplate>
</DataGridTemplateColumn.CellTemplate>
</DataGridTemplateColumn>
<DataGridTemplateColumn Header="Advance?">
<DataGridTemplateColumn.CellTemplate>
<DataTemplate>
<CheckBox VerticalAlignment="Center" HorizontalAlignment="Center" IsChecked="{Binding Path=ADVANCE_PROPERTY, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}" />
</DataTemplate>
</DataGridTemplateColumn.CellTemplate>
</DataGridTemplateColumn>
</DataGrid.Columns>
这会将每一行绑定到该模型的bool属性。选中和取消选中复选框将取消模型的属性,您可以从视图模型中找到的属性集中提取值。