我的项目中有一个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;
}
答案 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]);