c# - 将 DataGridView 从一个窗体复制到另一个窗体
问题描述
我正在为超市购买制作表单,添加到购物车的每个项目都显示在 datagridview 中,一旦购买完成,第一个表单中的第一个表单就会打开一个新表单,我希望显示第一个表单中的 datagridview。我看到了一些解决方案,并以我的第一种形式尝试了下一个代码:
this.Hide();
Form frm35 = new Form35(dataGridView1.DataSource);
frm35.ShowDialog();
this.Close();
在第二个中:
public partial class Form35 : Form
{
public Form35(object dataSource)
{
InitializeComponent();
dataGridView1.DataSource = dataSource;
}
private void Form35_Load(object sender, EventArgs e)
{
dataGridView1.Refresh();
}
}
但是,第二个表格(表格 35)中的 datagridview 仍然是空的。谢谢您的帮助。
解决方案
如果您在第一个表单网格绑定到数据源后打开第二个表单,您的代码将正常工作。检查以下代码以获取参考:
form1.cs
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void Form1_Load(object sender, EventArgs e)
{
DataTable table = new DataTable();
table.Columns.Add("Dosage", typeof(int));
table.Columns.Add("Drug", typeof(string));
table.Columns.Add("Patient", typeof(string));
table.Columns.Add("Date", typeof(DateTime));
// Step 3: here we add 5 rows.
table.Rows.Add(25, "Indocin", "David", DateTime.Now);
table.Rows.Add(50, "Enebrel", "Sam", DateTime.Now);
table.Rows.Add(10, "Hydralazine", "Christoff", DateTime.Now);
table.Rows.Add(21, "Combivent", "Janet", DateTime.Now);
table.Rows.Add(100, "Dilantin", "Melanie", DateTime.Now);
dataGridView1.DataSource = table;
}
private void button1_Click(object sender, EventArgs e)
{
this.Hide();
Form frm35 = new Form2(dataGridView1.DataSource);
frm35.ShowDialog();
this.Close();
}
Form2.cs
public partial class Form2 : Form
{
public Form2(object dataSource)
{
InitializeComponent();
dataGridView1.DataSource = dataSource;
}
private void Form2_Load(object sender, EventArgs e)
{
dataGridView1.Refresh();
}
}
谢谢,
推荐阅读
- php - 为什么 Yii2 radioList() 创建隐藏输入?
- xslt - XSL 根据错误代码显示错误
- php - maatwebsite~2.1.0:导出的 xls 文件中的日期时间列应具有 Excel 日期格式
- javascript - 如何将 laravel 模板与 Vue.js 集成
- c++ - 实例成员与静态成员与非类方法的成本
- unreal-engine4 - 在虚幻引擎 4 中实现 4K 纹理的硬件要求
- cassandra - UUID 或 Integer 作为分区键是一个不错的选择吗?
- e-commerce - kentico cms 电子商务电子邮件模板的附件
- android - 使用 InputMethodManager 隐藏后如何带回软键盘
- c# - 将序列中连续出现的特定数字替换为单个出现