[英]Datagrid not showing data in Winforms
我是Winforms的新手,只是尝试具有2个表单的示例应用程序。
Form1中
DataFetch fetch ; public Form1() { InitializeComponent(); fetch = new DataFetch(); comboBox1.DataSource = fetch.getDesignation(); comboBox1.DisplayMember = "Name"; comboBox1.ValueMember = "Id"; radioButton1.Checked = true; } private void button1_Click(object sender, EventArgs e) { Employee employee = new Employee(); employee.Designation = comboBox1.SelectedText==""?"Admin":comboBox1.SelectedText; employee.IsCertified = radioButton1.Checked == true ? true : false; employee.name = textBox1.Text; Form2 form = new Form2(employee); form.Show(); }
窗体2
public partial class Form2 : Form { public Form2(Employee employee) { InitializeComponent(); dataGridView1.DataSource = employee; } }
partial class Form2 { /// <summary> /// Required designer variable. /// </summary> private System.ComponentModel.IContainer components = null; /// <summary> /// Clean up any resources being used. /// </summary> /// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param> protected override void Dispose(bool disposing) { if (disposing && (components != null)) { components.Dispose(); } base.Dispose(disposing); } #region Windows Form Designer generated code /// <summary> /// Required method for Designer support - do not modify /// the contents of this method with the code editor. /// </summary> private void InitializeComponent() { this.dataGridView1 = new System.Windows.Forms.DataGridView(); ((System.ComponentModel.ISupportInitialize)(this.dataGridView1)).BeginInit(); this.SuspendLayout(); // // dataGridView1 // this.dataGridView1.ColumnHeadersHeightSizeMode = System.Windows.Forms.DataGridViewColumnHeadersHeightSizeMode.AutoSize; this.dataGridView1.Location = new System.Drawing.Point(72, 93); this.dataGridView1.Name = "dataGridView1"; this.dataGridView1.Size = new System.Drawing.Size(240, 150); this.dataGridView1.TabIndex = 0; this.dataGridView1.CellContentClick += new System.Windows.Forms.DataGridViewCellEventHandler(this.dataGridView1_CellContentClick_1); // // Form2 // this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F); this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; this.ClientSize = new System.Drawing.Size(460, 346); this.Controls.Add(this.dataGridView1); this.Name = "Form2"; this.Text = "Form2"; ((System.ComponentModel.ISupportInitialize)(this.dataGridView1)).EndInit(); this.ResumeLayout(false); } #endregion private System.Windows.Forms.DataGridView dataGridView1; }
虽然我可以在Form2的构造函数中获取数据,但在这种情况下我无法将其绑定到网格上以将其显示到网格上。
DataGridView's
DataSource
通常是一个集合,我不确定为什么要尝试将单个对象绑定到它。 但是无论如何,您可以初始化一个单项列表,然后将其绑定到datagridview1
的数据源。
例如:
datagridview1.DataSource = new List<Employee> { employee };
你可以轻松做到
您要添加的所有项目都添加到数据表中,并发送到表单2上,然后将其绑定到gridview上
ihtink将为您提供帮助
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.