实例介绍
【实例截图】




【核心代码】
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using Common;
using BLL;
using Model;
namespace Web
{
public partial class BorrowManager_UI : Form
{
public BorrowManager_UI()
{
InitializeComponent();
}
private void BorrowManager_UI_Load(object sender, EventArgs e)
{
#region dgvReaderInfo自动生成列
//需要添加列的列标题字符串
string arraysHeaderText = @"读者编号,读者名称,登记时间,有效时间,图书类型,所在院系,所在班级,省份证号,性别,电话,手机,Email,联系地址,描述信息";
//需要绑定数据库列名称的字符串
string arraysName = @"ReaderId,ReaderName,TimeIn,TimeOut,ReaderTypeName,DepartmentName,ClassName,IdentityCard,Gender,Special,Phone,Email,Address,ReaderRemark";
//自动生成columns
autocoumns.AutoColumn(arraysHeaderText, arraysName, dgvReaderInfo);
//DataGridView1数据集绑定
//this.dgvReaderInfo.DataSource = reader_bll.selectReader().Tables[0];
this.dgvReaderInfo.Columns[13].Visible = false;
this.dgvReaderInfo.Columns[12].Visible = false;
this.dgvReaderInfo.Columns[11].Visible = false;
dgvReaderInfo.DataSource = null;
#endregion
#region dgvBorrow表的自动生成列
//dataGridView3.AutoGenerateColumns = false;
//需要添加列的列标题字符串
string arraysHeaderText1 = @"借还ID,读者编号,读者名称,图书编号,图书名称,借出时间,书应归还时间,实际归还时间,应付罚金,续借次数,借还描述";
//需要绑定数据库列名称的字符串
string arraysName1 = @"BorrowId,ReaderId,ReaderName,BookId,BookName,BorrowTime,ReturnTime,FactReturnTime,Fine,RenewCount,BorrowRemark";
//自动生成columns
autocoumns.AutoColumn(arraysHeaderText1, arraysName1, dgvBorrowed);
autocoumns.AddColumn("续借", dgvBorrowed);
autocoumns.AddColumn("还书", dgvBorrowed);
//dgvBorrowed.Columns[2].Frozen = true;
//dgvBorrowed.Columns[1].Frozen = true;
//自动铺满的列宽
dgvBorrowed.AutoSizeColumnsMode = DataGridViewAutoSizeColumnsMode.Fill;
dgvBorrowed.Columns[0].Visible = false;
dgvBorrowed.Columns[1].Visible = false;
dgvBorrowed.Columns[2].Visible = false;
dgvBorrowed.Columns[7].Visible = false;
dgvBorrowed.Columns[dgvBorrowed.Columns.Count - 3].Visible = false;
dgvBorrowed.DataSource = null;
#endregion
#region dgvBookInfo的自动生成列
//需要添加列的列标题字符串
string arraysHeaderText2 = @"图书编号,图书名称,登记时间,图书类型,作者,拼音码,翻译,语言,页数,价格,印刷版面,存放位置,ISBS码,版本,描述";
//需要绑定数据库列名称的字符串
string arraysName2 = @"BookId,BookName,TimeIn,BookTypeName,Author,PinYinCode,Translator,Language,BookNumber,Price,Layout,Address,ISBS,Versions,BookRemark";
//自动生成columns
autocoumns.AutoColumn(arraysHeaderText2, arraysName2, dgvBookInfo);
autocoumns.AddColumn("借书", dgvBookInfo);
dgvBookInfo.AutoSizeColumnsMode = DataGridViewAutoSizeColumnsMode.Fill;
dgvBookInfo.DataSource = null;
dgvBookInfo.Columns[dgvBookInfo.Columns.Count - 2].Visible = false;
dgvBookInfo.Columns[dgvBookInfo.Columns.Count - 3].Visible = false;
dgvBookInfo.Columns[dgvBookInfo.Columns.Count - 4].Visible = false;
dgvBookInfo.Columns[dgvBookInfo.Columns.Count - 5].Visible = false;
dgvBookInfo.Columns[dgvBookInfo.Columns.Count - 6].Visible = false;
dgvBookInfo.Columns[dgvBookInfo.Columns.Count - 7].Visible = false;
dgvBookInfo.Columns[dgvBookInfo.Columns.Count - 8].Visible = false;
#endregion
}
private void button5_MouseEnter(object sender, EventArgs e)
{
((Button)sender).FlatStyle = FlatStyle.Standard;
}
private void button5_MouseLeave(object sender, EventArgs e)
{
((Button)sender).FlatStyle = FlatStyle.Flat;
}
Com autocoumns = new Com();
Reader_BLL reader_bll = new Reader_BLL();
BorrowReturn_BLL borrowReturn_bll = new BorrowReturn_BLL();
BookInfo_BLL bookInfo_bll = new BookInfo_BLL();
//读者信息与读者借还表的联动
private void txtReaderId_TextChanged(object sender, EventArgs e)
{
string ReaderId = txtReaderId.Text.Trim();
dgvReaderInfo.DataSource = reader_bll.selectReader("ReaderId", ReaderId).Tables[0];
}
//重新绑定数据是发生
private void dgvReaderInfo_DataSourceChanged(object sender, EventArgs e)
{
if (dgvReaderInfo.Rows.Count > 0)
{
string ReaderId = dgvReaderInfo.Rows[0].Cells[0].Value.ToString();
dgvBorrowed.DataSource = borrowReturn_bll.ReaderBorrowReturn(ReaderId).Tables[0];
labBorrowBook.Text = "读者编号为:" ReaderId " 正在借阅的以下图书";
}
else
{
dgvBorrowed.DataSource = null;
labBorrowBook.Text = ".....正在借阅的图书";
}
}
//根据图书编号改变事件
private void txtBookId_TextChanged(object sender, EventArgs e)
{
string BookId = txtBookId.Text.Trim();
dgvBookInfo.DataSource = bookInfo_bll.selectBookInfo2(BookId).Tables[0];
}
private void dgvBorrowed_CellContentClick(object sender, DataGridViewCellEventArgs e)
{
int BorrowReturnId = -1;
try
{
//选中行的借阅编号
BorrowReturnId = (int)dgvBorrowed.Rows[e.RowIndex].Cells[0].Value;
}
catch (Exception) { }
//DataGridView的总列数
int rows = dgvBorrowed.Columns.Count;
if (e.ColumnIndex == rows - 2)//修改
{
DialogResult result = MessageBox.Show("确定续借吗?", "提醒", MessageBoxButtons.OKCancel, MessageBoxIcon.Question);
if (result == DialogResult.OK)
{
BorrowReturn b = new BorrowReturn();
b.BorrowId = BorrowReturnId;
if (borrowReturn_bll.RenewBook(b) > 0)
{
MessageBox.Show("续借成功!");
dgvReaderInfo_DataSourceChanged(null, null);
autocoumns.AutoFindRow(b.BorrowId, dgvBorrowed);
}
else
{
MessageBox.Show("续借失败!");
}
}
}
else if (e.ColumnIndex == rows - 1)//还书
{
DialogResult result = MessageBox.Show("确定还书吗?", "提醒", MessageBoxButtons.OKCancel, MessageBoxIcon.Question);
if (result == DialogResult.OK)
{
if (borrowReturn_bll.ReturnBook(BorrowReturnId) > 0)
{
dgvReaderInfo_DataSourceChanged(null, null);
MessageBox.Show("还书成功!");
txtBookId_TextChanged(null, null);
}
else
{
MessageBox.Show("还书失败!");
}
}
}
}
//借书
private void dgvBookInfo_CellContentClick(object sender, DataGridViewCellEventArgs e)
{
string BookId = "";
try
{
//选中行的图书编号
BookId = dgvBookInfo.Rows[e.RowIndex].Cells[0].Value.ToString();
}
catch (Exception) { }
//DataGridView的总列数
int rows = dgvBookInfo.Columns.Count;
if (e.ColumnIndex == rows - 1)//借书
{
if (dgvReaderInfo.Rows.Count < 1)
{
MessageBox.Show("没有读者信息!");
return;
}
BorrowReturn b = new BorrowReturn();
b.BookId = BookId;
b.ReaderId = dgvReaderInfo.Rows[0].Cells[0].Value.ToString();
b.BorrowTime = DateTime.Now;
b.ReturnTime = DateTime.Now;//数据库中存储过程根据借书时间自动计算应还书日期
b.Fine = 0;
b.RenewCount = 0;
b.BorrowRemark = "";
DialogResult result = MessageBox.Show("确定借书吗?", "提醒", MessageBoxButtons.OKCancel, MessageBoxIcon.Question);
if (result == DialogResult.OK)
{
if (borrowReturn_bll.BorrowBook(b) == 0)
{
MessageBox.Show("借书成功!");
//刷新图书借还表
dgvReaderInfo_DataSourceChanged(null, null);
//选中添加成功的新行
autocoumns.AutoFindRow(b.BorrowId, dgvBorrowed);
//刷新 //读者信息与读者借还表的联动
txtBookId_TextChanged(null, null);
}
else
{
MessageBox.Show("借书失败!");
}
}
}
}
//查询读者
private void btnSelctReader_Click(object sender, EventArgs e)
{
Info_UI i = new Info_UI();
i.txtName = "读者信息";
i.borrowManager = this;
i.ShowDialog();
}
private void btnSelectBook_Click(object sender, EventArgs e)
{
Info_UI i = new Info_UI();
i.txtName = "图书信息";
i.borrowManager = this;
i.ShowDialog();
}
private void dgvBorrowed_RowPostPaint(object sender, DataGridViewRowPostPaintEventArgs e)
{
System.Drawing.Rectangle rectangle = new System.Drawing.Rectangle(e.RowBounds.Location.X,
e.RowBounds.Location.Y,
dgvBorrowed.RowHeadersWidth - 4,
e.RowBounds.Height);
TextRenderer.DrawText(e.Graphics, (e.RowIndex 1).ToString(),
dgvBorrowed.RowHeadersDefaultCellStyle.Font,
rectangle,
dgvBorrowed.RowHeadersDefaultCellStyle.ForeColor,
TextFormatFlags.VerticalCenter | TextFormatFlags.Right);
}
}
}
标签: c#图书管理 系统
相关软件
网友评论
小贴士
感谢您为本站写下的评论,您的评论对其它用户来说具有重要的参考价值,所以请认真填写。
- 类似“顶”、“沙发”之类没有营养的文字,对勤劳贡献的楼主来说是令人沮丧的反馈信息。
- 相信您也不想看到一排文字/表情墙,所以请不要反馈意义不大的重复字符,也请尽量不要纯表情的回复。
- 提问之前请再仔细看一遍楼主的说明,或许是您遗漏了。
- 请勿到处挖坑绊人、招贴广告。既占空间让人厌烦,又没人会搭理,于人于己都无利。
关于好例子网
本站旨在为广大IT学习爱好者提供一个非营利性互相学习交流分享平台。本站所有资源都可以被免费获取学习研究。本站资源来自网友分享,对搜索内容的合法性不具有预见性、识别性、控制性,仅供学习研究,请务必在下载后24小时内给予删除,不得用于其他任何用途,否则后果自负。基于互联网的特殊性,平台无法对用户传输的作品、信息、内容的权属或合法性、安全性、合规性、真实性、科学性、完整权、有效性等进行实质审查;无论平台是否已进行审查,用户均应自行承担因其传输的作品、信息、内容而可能或已经产生的侵权或权属纠纷等法律责任。本站所有资源不代表本站的观点或立场,基于网友分享,根据中国法律《信息网络传播权保护条例》第二十二与二十三条之规定,若资源存在侵权或相关问题请联系本站客服人员,点此联系我们。关于更多版权及免责申明参见 版权及免责申明


支持(0) 盖楼(回复)
支持(0) 盖楼(回复)