C#图书管理系统 附源码下载
程序员文章站
2022-03-26 08:42:32
用来练手还是不错的,分享大家看一下,还是一些新颖点的 !哈哈
就是自定义datagridview,方便每个功能部分调用!简单!再次...
用来练手还是不错的,分享大家看一下,还是一些新颖点的 !哈哈
就是自定义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 }
源码下载:csharplibrary(jb51.net).rar
关于管理系统的更多内容请点击《管理系统专题》进行学习
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。