在C#Windows应用程序中从DataTable追加GridView

时间:2014-10-31 20:40:37

标签: c# winforms datagridview

我正在尝试使用按钮单击基于组合框值附加数据库中的数据。

截至目前,我的代码如下:

private void LoadData()
    {
        try
        {
            string prdInfo = "SELECT product_name AS Description, unit_per_case AS Cases,     unit_price AS Rate FROM product_info " +
            "WHERE product_name='" + ComboBox1.Text+ "'";

            //create an OleDbDataAdapter
            OleDbDataAdapter datAdp = new OleDbDataAdapter(prdInfo, strCon);

            //create a DataTable to hold the query results
            DataTable dTable = new DataTable();

            //fill the DataTable
            datAdp.Fill(dTable);

            //set DataSource of DataGrid 
            datGrid.DataSource = dTable;

        }
        catch (Exception e)
        {
            MessageBox.Show(e.ToString());
        }

它只是添加单行而不附加我选择的下一个值。

我需要根据每个按钮点击的组合框中的值附加到GridView中。

任何人都可以帮忙吗?

2 个答案:

答案 0 :(得分:0)

我在全球范围内将DataTable值添加为Null,并添加了以下代码:

if (dtData == null)
            {
                //set DataSource of DataGrid
                dtData = dTable.Copy();
                datGrid.DataSource = dtData;
            }
            else
            {
                dtData.BeginLoadData();
                foreach (DataRow row in dTable.Rows)
                    dtData.LoadDataRow(row.ItemArray, true);
                dtData.EndLoadData();

            }

现在工作正常。感谢MikeG的帮助..

答案 1 :(得分:0)

为什么不尝试Merge()方法。

table1.Merge(table2);

您可以从msdn获取完整示例。