GridView学习记录
本程序使用到了Dev控件中的表格控件GridControl控件。此外本程序支持对表格的查询,增加,删除数据,功能只有计算平均分一项较为单一(由于数据简单因此没有连接数据库)。
对于本次作业使用到的函数及其说明
- SetDataTable:表格初始化函数(手写)。
- GetRowCellValue(%表的行号%, "%表的列名%"):此函数是GridControl库函数,作用是取得对应表格的数值返回的是一个字符串格式的值。
- DataRowCount:库函数,此函数作用是计算表格的行数。
- decimal.Parse:字符串转化为十进制的函数。
- SetRowCellValue(%表的行号%, gridView1.Columns[5],"%表格内容%" ):库函数,其中gridView1.Columns[5]作用是找到对应的那个的列,前面的行号与此函数连用即可对应的相应的单个表格,SetRowCellValue的作用是对应的相应的单个表格内容修改。
- AddNewRow():库函数,增加新的一行(空的)。
- DeleteSelectedRows:库函数,删除选中列。
测试截图
2. 搜索功能(插件自带,无需书写)
3. 计算平均分
4. 添加数据
5. 重新计算平均分
6. 删除选中数据
源代码
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 DevExpress.XtraGrid.Columns;
using DevExpress.XtraGrid.Views.Base;
using DevExpress.XtraGrid.Views.BandedGrid;
using DevExpress.XtraEditors.Repository;
using DevExpress.XtraGrid;
using DevExpress.XtraGrid.Views.Grid;
namespace HomeWork1._1
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void gridControl1_Click(object sender, EventArgs e)
{
}
/*数据绑定与表的创建*/
public void Form1_Load(object sender, EventArgs e)
{
DataTable dt = new DataTable();
SetDataTable(dt,new string[]{ " ","赵健","李齐","王东东","何丽","平均分" },
new List<object[]>()
{
new object[]{"大学英语",70,90,50,85,"NULL"},
new object[]{"C#程序设计",85,80,70,90,"NULL"},
new object[]{ "网页设计", 90,84,80,88,"NULL"},
});
gridControl1.DataSource = dt;
}
private void SetDataTable(DataTable dt, string[] colNames, List<object[]> rowValues)
{
foreach (string s in colNames)
dt.Columns.Add(s);
foreach (object[] ls in rowValues)
dt.Rows.Add(ls);
}
private void button1_Click(object sender, EventArgs e)
{
string[,] s= new string [1024,1024] ;
int [] sum = new int [1024];
double[] p = new double[1024];
for (int i = 0; i < this.gridView1.DataRowCount; i++)
{
/*读取数据*/
s[0,i] = this.gridView1.GetRowCellValue(i, "赵健").ToString();
s[1,i] = this.gridView1.GetRowCellValue(i, "李齐").ToString();
s[2,i] = this.gridView1.GetRowCellValue(i, "王东东").ToString();
s[3,i] = this.gridView1.GetRowCellValue(i, "何丽").ToString();
/*计算总值*/
for(int j=0;j<4;j++)
{
decimal a = decimal.Parse(s[j,i]);/*字符转十进制*/
sum[i] = sum[i] + (int)a;
}
}
/*计算平均分*/
for(int i=0;i< this.gridView1.DataRowCount; i++)
{
p[i] = sum[i] / 4.0;
/*进行新的数据绑定*/
this.gridView1.SetRowCellValue(i, gridView1.Columns[5], p[i].ToString());
}
}
/*添加新的一行*/
private void button2_Click(object sender, EventArgs e)
{
this.gridView1.AddNewRow();
}
/*删除选中行*/
private void button3_Click(object sender, EventArgs e)
{
this.gridView1.DeleteSelectedRows();
}
}
}