(一) 基本界面设计
(二) 数据库的建立和实现保存功能
数据库设计界面如下:
保存按钮功能代码如下:
private void toolStripButtonSaveItem_Click(object sender, EventArgs e)
{
try
{
this.Validate();
ccbmBindingSource.EndEdit();//要善于用相应的BindingSource组件!
ccbmTableAdapter.Update(studyDataSet.ccbm);
}
catch (Exception ex)
{
MessageBox.Show(ex.Message, "保存失败");
}
}
(三) 实现报表功能和关闭窗口前的确认功能
报表设计界面如下:
报表显示界面如下:
报表功能代码如下:
private void toolStripButtonReportItem_Click(object sender, EventArgs e)
{
frmReport2 myReport2 = new frmReport2();
myReport2.ShowDialog();
}
窗体关闭功能界面如下:
窗体关闭功能代码如下:
private void 退出EToolStripMenuItem_Click(object sender, EventArgs e)
{
this.Close();
}
private void frmBianMaGuanLi_FormClosing(object sender, FormClosingEventArgs e)
{
if (studyDataSet.HasChanges()) // HasChanges()方法是关键!
{
if (MessageBox.Show("你已进行了相关数据操作,但尚未保存!" + Environment.NewLine + "放弃并退出系统吗?", "友情提示", MessageBoxButtons.OKCancel, MessageBoxIcon.Warning, MessageBoxDefaultButton.Button1) == DialogResult.OK)
{
studyDataSet.RejectChanges();
}
else
e.Cancel = true;
}
}
(四) 实现模糊查询和删除多条记录功能
XSD中的 设置界面如下:
XSD中的 设置效果如下:
查询功能代码如下:
//按名称查询
private void btnSelectByName_Click(object sender, EventArgs e)
{
try
{
dgvSelectByName.DataSource = this.ccbmBindingSource1;
this.Cursor = Cursors.WaitCursor;
// studyDataSet是StudyDataSet类的一个实例化对象 此处ccbm为属性 关键!
this.ccbmTableAdapter.FillByName(this.studyDataSet.ccbm, txbName.Text);
this.Cursor = Cursors.Default;
tsslblRows.Text = "当前记录数: " + dgvSelectByName.Rows.Count.ToString();
if (dgvSelectByName.Rows.Count == 0)
MessageBox.Show("没有符合条件的记录","查询结果",MessageBoxButtons.OK,MessageBoxIcon.Warning);
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
}
}
//查询所有
private void btnSelectAll_Click(object sender, EventArgs e)
{
this.ccbmTableAdapter.Fill(this.studyDataSet.ccbm);
}
//删除多条功能(此处功能有待改善)
private void toolStripButtonDeleteSome_Click(object sender, EventArgs e)
{
if (dgvBianHao.SelectedRows.Count == 0)
{
MessageBox.Show("你没有选择任何记录");
return;
}
foreach (DataGridViewRow dr in dgvBianHao.SelectedRows)
{
dgvBianHao.EndEdit();
dgvBianHao.Rows.Remove(dr);
}
}
(五) 课后练习: