怎么向C#中的datagriview逐条添加数据

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了怎么向C#中的datagriview逐条添加数据相关的知识,希望对你有一定的参考价值。

DataGridViewRow row = new DataGridViewRow(); //新建一个DataGridViewRow
foreach (DataGridViewColumn c in dataGridView1.Columns)

row.Cells.Add(c.CellTemplate.Clone() as DataGridViewCell);//给行添加单元格

row.Cells[0].Value = reader.GetString(0); //给DataGridViewRow添加数据
row.Cells[1].Value = reader.GetString(1); //给DataGridViewRow添加数据
row.Cells[2].Value = reader.GetString(2); //给DataGridViewRow添加数据
dataGridView1.Rows.Add(row); //添加进DataGridView
参考技术A 将数据放在DataTable中,然后再绑定

c# devexpress 中的Gridcontrol 添加行问题

此控件跟VS自带的控件有很大区别。我要实现的是像VS的ListView那样添加和获取数据。请帮忙下。具体就是手动写代码添加行,修改行,获取行,删除行。怎么实现呢? 谢谢。写的是winForm的程序。

1)向Form1中拖入一个GridControl,两个Button

2)后台代码

using System;
using System.Collections.Generic;
using System.Linq;
using System.Windows.Forms;

namespace WindowsFormsApplication1

    public partial class Form1 : Form
    
        List<Student> studentList; 
        int studentId = 1;

        public Form1()
        
            InitializeComponent();
            
            button1.Text = "添加新行";
            button2.Text = "删除选定行";

            BuildDataSource();
        
        //为gridcontrol1准备数据源
        private void BuildDataSource()
        
            studentList = new List<Student>();
            studentList.Add(new Student(studentId++)
                  Name = "张三", Course = "数学", Score = 100 );
            studentList.Add(new Student(studentId++)
                  Name = "李四", Course = "数学", Score = 90 );
            studentList.Add(new Student(studentId++)
                  Name = "王五", Course = "数学", Score = 91 );
            //绑定!
            gridControl1.DataSource = studentList;
        
        //添加行
        private void button1_Click(object sender, EventArgs e)
        
            //添加行,实际上是向数据源(List<Student>集合)添加新的元素
            Student stu = new Student(studentId++) 
                 Name = "钱七", Course = "外语", Score = 34 ;
            studentList.Add(stu);
            //向数据源中新加行后,GridControl中自动会添加新行
            gridControl1.RefreshDataSource();
        
        //删除行
        private void button2_Click(object sender, EventArgs e)
        
            //获取所有被选行
            int[] rowIds = gridView1.GetSelectedRows();
            if (rowIds.Length == 0) return;
            //删除
            foreach (int rowId in rowIds)
            
                int stuId = (int)gridView1.GetRowCellValue(rowIds[0], "Id");
                Student stu = studentList.First(s => s.Id == stuId);
                studentList.Remove(stu);
            
            //从数据源中删除行后,GridControl中自动会删除对于的行
            gridControl1.RefreshDataSource();
        
    

    //----------------------------------------
    //学生成绩类
    class Student
    
        public Student(int id)
        
            Id = id;
        
        //学号
        public int Id  get; private set; 
        //姓名
        public string Name  get; set; 
        //课程
        public string Course  get; set; 
        //成绩
        public float Score  get; set; 
    

3)可直接在GridControl中修改行,不需要额外编程(除非你想校验输入数据的合法性)

------

总结: 对 Devexpress GridControl中增、删、修改,实际上是对数据源(数据集合)的增、删、修改。也就是说:对数据源修改会"反映"到界面的控件上。

参考技术A 用datagridview

以上是关于怎么向C#中的datagriview逐条添加数据的主要内容,如果未能解决你的问题,请参考以下文章

C#中怎样将dataGridView中的新添加的一行数据添加到数据库中

java 如何批量插入数据

C#用datagriview控件增加删除行数据,并且更新到xml中,求代码(急)如图

如何使用 C# 和 OleDB 向 Access 数据库表中添加富文本列?

c#怎么在dataGridView里面添加一列?

c#怎么在dataGridView里面添加一列?