DataGridView不显示绑定到它的dataTable

时间:2013-11-21 10:18:19

标签: c# datagridview datatable

我的项目中有一个DataGridView,可以作为我店里的篮子。当我在我的主DataGridView中选择一个商品时,从我的数据库中选择并添加到DataTable对象的那个商品的信息和结束我的数据表绑定到我的basketDataGridView,但在我的项目中我的basketDataGridView没有显示内容我的dataTable。

您可以看到以下代码。

注意:我的FrooshDataGridview是我的主要数据网格视图,nesyeBasketDataGridview是我的购物篮。

由于

    private void FrooshDataGridView_CellClick(object sender, DataGridViewCellEventArgs e)
    {

        if (FrooshDataGridView.RowCount > 0)
        {
            if (e.RowIndex != -1 && e.ColumnIndex != -1 &&
                FrooshDataGridView.Columns[e.ColumnIndex] is DataGridViewButtonColumn)
                if (FrooshDataGridView.CurrentCell.Value.ToString().Trim() == "Add to Basket")
                    if (DialogResult.Yes == MessageBox.Show("Are you shur that to add to basket ", "Add", MessageBoxButtons.YesNo))
                    {
                        int a = (int)FrooshDataGridView.CurrentRow.Cells["ID"].Value;
                        //MessageBox.Show(a.ToString());
                        string sql = "select * From tblKala where ID =" + a.ToString();
                        da.SelectCommand.CommandText = sql;
                        conn.Open();
                        DataTable dt = new DataTable();
                        da.Fill(dt);
                        conn.Close();
                        DataRow MyRow = table1.NewRow();
                        MyRow = dt.Rows[0];
                        table1.ImportRow(MyRow);

                    }
            //NesyeBasketDataGridView.DataSource = null;        

            //NesyeBasketDataGridView.Show();
        }
        NesyeBasketDataGridView.DataSource = table1; 
    }

2 个答案:

答案 0 :(得分:0)

也许你应该尝试

table1.Rows.Add(dt.Rows[0].ItemArray);

作为内部if语句中最后三行的替换...没有测试它但是值得一试......

答案 1 :(得分:0)

请注意,您的table1应与本地dt具有相同的结构。如果没有,您从dt复制到table1的行将从左到右填充该列。要从表dt复制结构,您可以使用Clone方法,如下所示:

table1 = dt.Clone();

您的代码错误,因为这不是复制行的方法,您可以像这样直接使用ImportRow

table1.ImportRow(dt.Rows[0]);