【发布时间】:2017-05-09 11:38:59
【问题描述】:
我知道这是一个常见问题,我已经搜索了很长时间来寻找对我有帮助的答案。任何帮助将不胜感激 我有 2 个窗口窗体 --form1 有添加、编辑删除刷新按钮和 datagridview
当点击 form1 中的添加按钮时,form2 会弹出。这可以正常工作 form2 的输入文本框名称、年龄、城市等很少,带有保存按钮
******不使用数据库***** 我的问题是如何将 form2 上的输入数据显示到 form1 上的 datagrid 视图中。列标题数据存在但未输入列表数据 到目前为止,这是我的代码:
FORM1
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
StuAdd sa = new StuAdd();
ListClass lc = new ListClass();
BindingSource bs = new BindingSource();
private void btnAddS_Click(object sender, EventArgs e)
{
sa.Show();
}
private void btnRefreshS_Click(object sender, EventArgs e)
{
bs.DataSource = lc.myList;
dgv1.DataSource = bs;
}
private void Form1_Load(object sender, EventArgs e)
{
}
}
FORM2
public partial class StuAdd : Form
{
public StuAdd()
{
InitializeComponent();
}
ListClass lc = new ListClass();
private void btnSave_Click(object sender, EventArgs e)
{
string title = cboTitle.SelectedItem.ToString();
string fname = txtFname.Text;
string lname = txtLname.Text;
string dob = dtpDOB.Text;
int stuId = int.Parse(txtSID.Text);
string status = cboStatus.SelectedItem.ToString();
string phone = txtPhone.Text;
string email = txtEmail.Text;
lc.AddStudent(title,fname, lname, dob,stuId,status,phone,email);
MessageBox.Show("Data Added", "Message", MessageBoxButtons.OKCancel, MessageBoxIcon.Information);
txtEmail.Clear();
txtFname.Clear();
txtLname.Clear();
txtPhone.Clear();
txtSID.Clear();
this.Hide();
}
private void StuAdd_Load(object sender, EventArgs e)
{
}
}
}
学生班
class Student:Person
{
public int StudentID { get; set; }
public string Status { get; set; }
public string MyString()
{
StringBuilder sb = new StringBuilder();
sb.Append(base.GetAll());
sb.Append(" ");
sb.Append(StudentID);
sb.Append(" ");
sb.Append(Status);
return string.Format("{0} {1} {2} {3} {4} {5} {6} {7} ", Title, FirstName, Lastname, DOB, StudentID, Status, Email, Phone);
}
}
} 人员类
class Person
{
public string Title { get; set; }
public string FirstName { get; set; }
public string Lastname { get; set; }
public string DOB { get; set; }
public string Phone { get; set; }
public string Email { get; set; }
public string GetAll()
{
StringBuilder sb = new StringBuilder();
sb.Append(Title);
sb.Append(" ");
sb.Append(FirstName);
sb.Append(" ");
sb.Append(Lastname);
sb.Append(" ");
sb.Append(DOB);
sb.Append(" ");
sb.Append(Phone);
sb.Append(" ");
sb.Append(Email);
return sb.ToString();
}
列表类 类列表类
{
public List<Student> myList = new List<Student>();
public string AddStudent(string ti, string fn, string ln, string dob, int sid, string stat, string ph, string em)
{
Student s = new Student();
s.Title = ti;
s.FirstName = fn;
s.Lastname = ln;
s.DOB = dob;
s.StudentID = sid;
s.Status = stat;
s.Phone = ph;
s.Email = em;
myList.Add(s);
return "Student added to List";
}
}
}
【问题讨论】:
-
以第二种形式创建构造函数,接受datagridview的数据并做你想做的事
-
谢谢 S 刚刚在 John 的帮助下做到了
标签: c# .net winforms datagridview