特地給家裏的老弟準備了這樣的小項目,用來練手仍是不錯的,分享你們看一下,仍是一些新穎點的 !哈哈數據庫
就是自定義DataGridView,方便每一個功能部分調用!簡單!再次重申!!!後面源碼會送上!this
首先看一下登陸,上圖吧!spa
只有超級管理員跟管理員翻譯
接下來看一下主界面code
更改DataGridView數據列orm
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; } } } } }
挺簡單的 一下是圖書管理加載的數據方法blog
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 }咯就這麼多,窗體小項目,還在初級階段的便宜拿去練練手能夠! 加油 !源碼送上:http://pan.baidu.com/s/1kVqC6kJ