10-C#的dataGridView1和datatable的使用

C#的dataGridView的使用

1.双缓冲-解决控件卡顿

//利用反射设置DataGridView1的双缓冲
Type dgvType = this.dataGridView1.GetType();
PropertyInfo pi = dgvType.GetProperty("DoubleBuffered", BindingFlags.Instance | BindingFlags.NonPublic);
pi.SetValue(this.dataGridView1, true, null);

2.不允许自动添加行

dataGridView1.AllowUserToAddRows = false;     //不允许自动添加行

3.数据的遍历

for (int i = 0; i < dataGridView1.RowCount; i++)
{
    for (int j = 0; j < dataGridView1.ColumnCount; j++)
    {
        // 打印第i行第j列数据
        dataGridView1.Rows[i].Cells[j].Value=i*j;
    }
}

4.设置第一行的名称

dataGridView1.Rows[0].HeaderCell.Value = "-20";

5.获取第一行第一列的内容

label13.Text= dataGridView1.Rows[0].Cells[0].Value.ToString();

6.设置行宽度和个数

dataGridView1.RowHeadersWidth = 60;//设置行的宽度
dataGridView1.RowCount = 10;//设置行的个数
dataGridView1.Columns[0].Width = 30;//设置列宽度
dataGridView2.Rows[i].Height = 25;设置行高度
//设置列宽度,文字水平垂直对其
dataGridView2.Columns[i].Width = 25;
dataGridView2.Columns[i].DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleCenter;

7.判断输入的数据是否是浮点字符串

        private void dataGridView2_CellValidating(object sender, DataGridViewCellValidatingEventArgs e)
        {
            //if (e.FormattedValue.ToString().Length > 2)
            //{
            //    e.Cancel = true;
            //}
            if (double.TryParse(e.FormattedValue.ToString(),out _))
            {
                e.Cancel = true;
            }
        }

C#的Datatable的使用

DataTable 是一个临时保存数据的网格虚拟表,表示内存中数据的一个表,是一个二维表,也是一个后台数据源和前台显示之间的适配器。

1.实例化datatable

//创建实例,并添加首行的内容
DataTable dt = new DataTable();
dt.Columns.Add("column0", typeof(String));//添加列
//再次添加列
 for (int i = 1; i < arraystr.GetLength(1); i++)
 {
     dt.Columns.Add(i.ToString(), typeof(string));
 }
//为每一行添加数据
for (int i = 0; i < arrFrames.GetLength(0); i++)//获取行数量
{
    DataRow dr = dt.NewRow();
    //dr[0] = (i + 1).ToString();
    for (int j = 0; j < arraystr.GetLength(1); j++)//获取列数量
    {
        dr[j] = arraystr[i, j].ToString();
    }
    dt.Rows.Add(dr);
}

2.dataGridView1与datatable绑定

dataGridView2.DataSource = dt;

3.datatable某一行对应的列数据修改

dt.Rows[0]["12"] =44.ToString();

4.datatable某一列的名称修改

dt.Columns["12"].ColumnName = 99.ToString();

你可能感兴趣的:(C#,c#,java,开发语言)