当前位置: 移动技术网 > IT编程>开发语言>c# > C#图书管理系统 附源码下载

C#图书管理系统 附源码下载

2019年07月18日  | 移动技术网IT编程  | 我要评论

用来练手还是不错的,分享大家看一下,还是一些新颖点的   !哈哈 

就是自定义datagridview,方便每个功能部分调用!简单!再次重申!!!后面源码会送上! 

首先看一下登录,上图吧! 

只有超级管理员跟管理员

接下来看一下主界面 


更改datagridview数据列

datagridview自定义类 

using system;
using system.collections.generic;
using system.linq;
using system.text;
using system.threading.tasks;
using system.windows.forms;
using system.data.sqlclient;
using system.reflection;
using system.drawing;

namespace common
{
 public class com
 {
 public void thread() {
 
 }
 /// <summary>
 /// datagridview的样式
 /// </summary>
 /// <param name="gridview"></param>
 public void exitgridview(datagridview gridview)
 {
 gridview.allowdrop = false;
 gridview.allowusertoaddrows = false;
 gridview.allowusertodeleterows = false;
 gridview.allowusertoordercolumns = false;
 gridview.allowusertoresizecolumns = false;
 }
 /// <summary>
 /// 生成一列有功能的按钮
 /// </summary>
 /// <param name="name"></param>
 /// <param name="gridview"></param>
 public void addcolumn(string name, datagridview gridview)
 {
 //添加修改按钮
 datagridviewbuttoncolumn c = new datagridviewbuttoncolumn();
 //设置列标题单元格的名称
 c.text = name;
 //单元格的背景色
 c.defaultcellstyle.backcolor = color.lightgray;
 //单元格选定时的背景色
 c.defaultcellstyle.selectionbackcolor = color.darkgray;

 //单元格的默认文本
 c.usecolumntextforbuttonvalue = true;
 //单元格宽
 c.width = 60;
 //添加新的一列对象
 //选中时背景色为灰色
 c.defaultcellstyle.selectionbackcolor = color.lightgray;
 c.defaultcellstyle.selectionforecolor = color.black;
 c.fillweight = 50;
 gridview.columns.add(c);
 }
 /// <summary>
 /// 自动生成columns 没有修改和删除
 /// </summary>
 /// <param name="headertext"></param>
 /// <param name="datapropertynames"></param>
 /// <param name="grdiview"></param>
 public void autocolumn(string headertext, string datapropertynames, datagridview grdiview)
 {
 //去掉自动生成的列
 grdiview.autogeneratecolumns = false;
 grdiview.rowheadersdefaultcellstyle.selectionbackcolor = color.darkgray;
 //生成行标题标号的方法
 grdiview.datasource = system.drawing.imaging.imagecodecinfo.getimagedecoders();
 // 禁止用户改变datagridview1的所有列的列宽
 grdiview.allowusertoresizecolumns = false;
 //禁止用户改变datagridview1の所有行的行高 
 grdiview.allowusertoresizerows = false;
 //选择整行
 grdiview.selectionmode = datagridviewselectionmode.fullrowselect;
 grdiview.allowdrop = false;
 //不可以添加行
 grdiview.allowusertoaddrows = false;
 //不可以删除行
 grdiview.allowusertodeleterows = false;
 //不可以手动对列重新定位
 grdiview.allowusertoordercolumns = false;
 //不可以调整列的大小
 grdiview.allowusertoresizecolumns = false;
 //不可以调整行的大小
 grdiview.allowusertoresizerows = false;
 //行标题行的宽度
 grdiview.rowheaderswidth = 32;
 //不能多选
 grdiview.multiselect = false;
 //获取标题样式
 grdiview.columnheadersdefaultcellstyle.alignment = datagridviewcontentalignment.middlecenter;
 string[] arrayheadertext = headertext.split(',');
 string[] arraydatapropertynames = datapropertynames.split(',');
 for (int i = 0; i < arrayheadertext.length; i++)
 {
 datagridviewtextboxcolumn d = new datagridviewtextboxcolumn();
 //绑定数据库列名称
 d.datapropertyname = arraydatapropertynames[i];
 //设置列标题的名称
 d.headertext = arrayheadertext[i];
 //单元格选定时的背景色
 d.defaultcellstyle.selectionbackcolor = color.gainsboro;
 d.defaultcellstyle.selectionforecolor = color.black;
 //单元格的内容居中
 d.defaultcellstyle.alignment = datagridviewcontentalignment.middlecenter;
 grdiview.columns.add(d);
 }
 grdiview.datasource = null;
 }
 /// <summary>
 /// 找到刚刚添加成功的数据行s
 /// </summary>
 /// <param name="a"></param>
 /// <param name="gridview"></param>
 public void autofindrow(string a, datagridview gridview) 
 {
 //获取datagridview中的总行数
 int rows = gridview.rowcount;

 //找到刚刚添加成功的数据行
 for (int i = 0; i < rows; i++)
 {
 string a = gridview.rows[i].cells[0].value.tostring();
 if (a == a)
 {
  //选中整行
  gridview.rows[i].selected = true;
  //垂直滚动条,滚动到当前行索引位置
  gridview.firstdisplayedscrollingrowindex = i;
 }
 else
 {
  //清楚整行选中
  gridview.rows[i].selected = false;
 }
 }
 }

 /// <summary>
 /// 找到刚刚添加成功的数据行
 /// </summary>
 /// <param name="a"></param>
 /// <param name="gridview"></param>
 public void autofindrow(int a, datagridview gridview)
 {
 //获取datagridview中的总行数
 int rows = gridview.rowcount;

 //找到刚刚添加成功的数据行
 for (int i = 0; i < rows; i++)
 {
 int a = (int)gridview.rows[i].cells[0].value;
 if (a == a)
 {
  //选中整行
  gridview.rows[i].selected = true;
  //垂直滚动条,滚动到当前行索引位置
  gridview.firstdisplayedscrollingrowindex = i;
 }
 else
 {
  //清楚整行选中
  gridview.rows[i].selected = false;
 }
 }
 }
 }
} 

挺简单的  一下是图书管理加载的数据方法 

private void bookinfomanager_ui_load(object sender, eventargs e)
 {
 #region datagridview1绑定
 //需要添加列的列标题字符串
 string arraysheadertext = @"图书编号,图书名称,登记时间,图书类型,作者,拼音码,翻译,语言,页数,价格,印刷版面,存放位置,isbs码,版本,描述";
 //需要绑定数据库列名称的字符串
 string arraysname = @"bookid,bookname,timein,booktypename,author,pinyincode,translator,language,booknumber,price,layout,address,isbs,versions,bookremark";


 //自动生成columns
 autocoumns.autocolumn(arraysheadertext, arraysname, datagridview1);
 datagridview1.datasource = bookinfo_bll.selectbookinfo1().tables[0];
 autocoumns.addcolumn("修改", datagridview1);
 autocoumns.addcolumn("删除", datagridview1);

 //datagridview1数据集绑定
 this.datagridview1.datasource = bookinfo_bll.selectbookinfo1().tables[0];
 //窗体加载时默认隐藏的列
 this.datagridview1.columns[14].visible = false;
 this.datagridview1.columns[13].visible = false;
 this.datagridview1.columns[12].visible = false;
 this.datagridview1.columns[11].visible = false;
 this.datagridview1.columns[10].visible = false;
 #endregion

 #region 下拉框绑定

 datagridviewcolumncollection columns = datagridview1.columns;

 for (int i = 0; i < columns.count - 2; i++)
 {
 combobox1.items.add(columns[i].headertext);
 }
 combobox1.items.insert(0, "全部");
 combobox1.selectedindex = 0;

 #endregion

 #region 树状图的绑定

 treeviewband();

 #endregion

 #region dgvhostory绑定

 string header1 = @"图书编号,图书名称,读者编号,读者名称,借出时间,书应归还时间,实际归还时间,应付罚金,续借次数,借还描述";
 string propertynames1 = @"bookid,bookname,readerid,readername,borrowtime,returntime,factreturntime,fine,renewcount,borrowremark";
 //自动生成columns
 autocoumns.autocolumn(header1, propertynames1, dgvhostory);

 #endregion
 }

源码下载:

关于管理系统的更多内容请点击《管理系统专题》进行学习

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持移动技术网。

如对本文有疑问, 点击进行留言回复!!

相关文章:

验证码:
移动技术网