好得很程序员自学网

<tfoot draggable='sEl'></tfoot>

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

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

就是自定义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.rar

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持服务器之家。

dy("nrwz");

查看更多关于C#图书管理系统 附源码下载的详细内容...

  阅读:39次