如何在直接从数据库中检索到的数据网格视图的末尾列上放置EDIT和DELETE按钮?

时间:2019-02-19 05:54:46

标签: c# wpf xaml datagridview datagrid

我有这个datagrid视图,其中直接通过与数据库的绑定来填充。

我从OleDbAdapter类型的控制器中的数据库中获取数据,并在主窗口中检索它,并将其放置在数据网格视图中。之后,我使用EDIT中的DELETE添加了DataGridTemplateColumnMain Window.xaml的按钮。

PROGRAM_CONTROLLER.CS

public OleDbDataAdapter GetProgramList()
{
        OleDbDataAdapter da = null;

        try
        {
            con.ConnectionString = "Provider=Microsoft.ACE.OLEDB.12.0; Data Source=" + Path + ";Persist Security Info=True";
            if (con.State != ConnectionState.Open)
            {
                con.Open();
            }
            OleDbCommand cmd = new OleDbCommand();
            cmd.Connection = con;
            cmd.CommandText = "select * from program";
            return new OleDbDataAdapter(cmd);
        }
        catch(Exception ex)
        {
            return da;
        }
        finally
        {
            con.Close();
        }
}      

MAIN WINDOW.CS

Program_Controller _PController = new Program_Controller();
OleDbDataAdapter da = _PController.GetProgramList();
DataTable dt = new DataTable();
da.Fill(dt);
dataGridProgram.ItemsSource = dt.AsDataView();

MAIN WINDOW.XAML

<WrapPanel Margin="20,0,20,20" HorizontalAlignment="Center">
    <DataGrid AutoGenerateColumns="True" Name="dataGridProgram" SelectionMode="Single" FontSize="15" BorderThickness="1" IsReadOnly="true" Height="300" Width="700">
        <DataGrid.Columns>
            <DataGridTemplateColumn>
                <DataGridTemplateColumn.CellTemplate>
                    <DataTemplate>
                        <Button x:Name="btnEdit" Content="Edit" Height="Auto" Width="75" Margin="10" Click="btnEdit_Click"/>
                    </DataTemplate>
                </DataGridTemplateColumn.CellTemplate>
            </DataGridTemplateColumn>
            <DataGridTemplateColumn>
                <DataGridTemplateColumn.CellTemplate>
                    <DataTemplate>
                       <Button x:Name="btnDelete" Content="Delete" Height="Auto" Width="75" Margin="10" Click="btnDelete_Click"/>
                    </DataTemplate>
                </DataGridTemplateColumn.CellTemplate>
            </DataGridTemplateColumn>
        </DataGrid.Columns>
     </DataGrid>
</WrapPanel>

当前输出结果显示EDITDELETE按钮在第一和第二列是这样的。

Current table for data grid view

如何将它们移到行尾,如何将它们都放在一列中?

编辑: 我只希望按钮列在后面,其他应保持数据库中列的顺序

1 个答案:

答案 0 :(得分:1)

'doc_date'       => 'filled|date_format:d-m-Y'