【问题标题】:DataGridCheckboxColumn with SQL Server Express使用 SQL Server Express 的 DataGridCheckboxColumn
【发布时间】:2012-03-18 16:16:07
【问题描述】:

我有以下数据网格:

 <DataGrid AutoGenerateColumns="True" Grid.ColumnSpan="9" Grid.Row="2" Grid.RowSpan="8" Height="583" HorizontalAlignment="Left" Name="dgAufgaben" VerticalAlignment="Top" Width="1344" AlternatingRowBackground="#E6DBDBDB" RowHeight="55">
            <DataGrid.Columns>
                <DataGridCheckBoxColumn Header="sseas"></DataGridCheckBoxColumn>
            </DataGrid.Columns>
</DataGrid>

我这样填写的:

        DataSet ds = new DataSet();
        aufrep.GetAufgaben(ds, loginid);
        dgAufgaben.DataContext = ds;
        dgAufgaben.ItemsSource = ds.Tables[0].DefaultView;

因此,我从数据库中收到的数据位于 DataSet 中,这些列是自动生成的。问题是,我不知道如何将 CheckboxColumn 设置为我的DataSet 的列的值。 (一列包含 0 和 1 值)

我该如何管理?

【问题讨论】:

    标签: c# wpf datagrid checkbox dataset


    【解决方案1】:

    您知道 AutoGenerate = true 可能会再次创建该列。在 SQL 中,布尔值是位 (0,1)。您只需绑定到该列。

            DataGridCheckBoxColumn 
            Header="New?" 
            Width="40"
            Binding="{Binding IsNew}"
    

    【讨论】:

    • 是的,我知道,我刚刚添加了复选框列进行测试。在我的数据库中,值为 0/1 的列是一个 int。我可以初始化一个布尔并将其绑定到这些吗?如果是,我还需要做什么才能让它起作用?
    • "In SQL bool is bit (0,1)" 所以在 SQL 中把它从 Int 改成 Bit。
    • 好的。进而?如何将值放入 IsNew(在您的示例中)?
    • 使用DataTable中的列名。您也许可以使用 [0]。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-08-02
    • 1970-01-01
    • 1970-01-01
    • 2011-04-29
    • 1970-01-01
    相关资源
    最近更新 更多