C#如何实现dataGridView动态绑定数据

目录
  • dataGridView动态绑定数据
    • 1.动态绑定DataTable数据
    • 2.动态添加数据
  • datagridView数据插入

dataGridView动态绑定数据

1.动态绑定DataTable数据

DataGridView dgv = new DataGridView();
DataTable dt = new DataTable();//DataGridView未设置列名信息的时候可以直接指定DataSource
dt.Columns.Add("姓名", Type.GetType("System.String"));
dt.Columns.Add("性别", Type.GetType("System.String"));
dt.Columns.Add("年龄", Type.GetType("System.Int16"));
//====================添加行数据方法1============================
//dt.Rows.Add(new object[]{"张三","男",22});
//dt.Rows.Add(new object[]{"李四","女",20});
//====================添加行数据方法1============================
//====================添加行数据方法2============================
DataRow dr = dt.NewRow();
dr[0] = "张三";
dr[1] = "男";
dr[2] = 22;
dt.Rows.Add(dr);
DataRow dr2 = dt.NewRow();
dr2[0] = "李四";
dr2[1] = "女";
dr2[2] = 20;
dt.Rows.Add(dr2);
//====================添加行数据方法2============================ 

dgv.DataSource = dt;

2.动态添加数据

已经在界面中定义了一个DataGridView控件名叫dgv,并且添加好了列名

//DataGridView已经在可视化界面设置好列名后不能再指定DataSource(指定了显示会走样)
string[] names = { "张三", "李四" };
string[] sexs = { "男", "女" };
int[] ages = { 22, 20 };
for (int i = 0; i < names.Length; i++)
{
    dgv.Rows.Add();
    dgv.Rows[i].Cells[0].Value = names[i];
    dgv.Rows[i].Cells[1].Value = sexs[i];
    dgv.Rows[i].Cells[2].Value = ages[i];
}
//====================添加单行可使用============================
 //DataGridViewRow dgr = new DataGridViewRow();
//int index = dgv.Rows.Add(dgr);
 //dgv.Rows.Add();
//dgv.Rows[index].Cells[0].Value = names[0];
 //dgv.Rows[index].Cells[1].Value = sexs[0];
//dgv.Rows[index].Cells[2].Value = ages[0];
//====================添加单行可使用============================

datagridView数据插入

private void button1_Click(object sender, EventArgs e)
        {
            DataSet ds = new DataSet();
            DataTable dt = new DataTable();
            ds.Tables.Add(dt);
            dt.Columns.Add("name");             //添加类标题
            dt.Columns.Add("sex");
            dt.Columns.Add("address");

            DataRow dr = dt.NewRow();
            dr["name"] = "dsads";
            dr["sex"] = "12312";
            dr["address"] = "32132";
            dt.Rows.Add(dr);                //添加行信息
            dt.Rows.Add(dr[0]);
            dt.Rows.Add(dr[0]);
            dt.Rows.Add(dr[0]);

            dataGridView1.DataSource = ds.Tables[0];
        }
            string r = bytesLoaded;
            var person = JObject.Parse(r);
            var columns = JArray.FromObject(person["columns"]);
            var rows = JArray.FromObject(person["rows"]);

            DataSet ds = new DataSet();
            DataTable dt = new DataTable();
            ds.Tables.Add(dt);
            foreach (var item in columns)
            {
                dt.Columns.Add(item["name"].ToString());
            }

            foreach (var item in rows)
            {
                DataRow dr = dt.NewRow();

                for (int i = 0; i < columns.Count; i++)
                {
                    dr[columns[i]["name"].ToString()] = item[i].ToString();
                }
                dt.Rows.Add(dr);                //添加行信息
            }
            dataGridView1.DataSource = ds.Tables[0];

以上为个人经验,希望能给大家一个参考,也希望大家多多支持我们。

(0)

相关推荐

  • C#操作DataGridView获取或设置当前单元格的内容

    当前单元格指的是DataGridView焦点所在的单元格,它可以通过DataGridView对象的CurrentCell属性取得.如果当前单元格不存在的时候,返回null. 取得当前单元格的内容: object obj = this.dgv_PropDemo.CurrentCell.Value; 注:返回值是object类型的. 取得当前单元格的列Index: int columnIndex = this.dgv_PropDemo.CurrentCell.ColumnIndex; 取得当前单元格

  • C#开发WinForm根据条件改变DataGridView行颜色

    根据条件改变DataGridView行的颜色可以使用RowPrePaint事件. 示例程序界面如下: 示例程序代码如下: 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; usi

  • C#开发WinForm清空DataGridView控件绑定的数据

    使用DataGridView控件绑定数据后有时需要清空绑定的数据,在清除DataGridView绑定的数据时: 1.设置DataSource为null this.dgvDemo.DataSource = null 这样虽然可以清空DataGridView绑定的数据,但是DataGridView的列也会被删掉. 2.用DataGridView.Row.Clear() this.dgvDemo.Rows.Clear() 使用这种方法会报错,提示“不能清除此列表”,报错信息如下: 以上两种方法都不是想

  • datagridview实现手动添加行数据

    目录 datagridview手动添加行数据 datagridview添加行的几种方式 datagridview手动添加行数据 我在做软件模型界面时,通过功能按钮触发显示的datagridview中,为了方便,需要一些数据,仅写死数据就可以了,因此,不需要连接数据表,直接添加行就可以了. 代码如下:         int index = this.dataGridView1.Rows.Add();         this.dataGridView1.Rows[index].Cells[0].

  • C#操作DataGridView设置单元格只读

    一.修改ReadOnly属性 1.设置整个DataGridView只读: DataGridView.ReadOnly=true; 此时用户的新增行和删除行操作也被屏蔽了. 2.设置DataGridView内某个单元格不可编辑,例如:设置第二行第一列的单元格不可编辑: this.dgv_PropDemo[0, 1].ReadOnly = true; 3.设置DataGridVIew的某列整列不可编辑,例如:设置第二列不可编辑: this.dgv_PropDemo.Columns[1].ReadOn

  • C#如何实现dataGridView动态绑定数据

    目录 dataGridView动态绑定数据 1.动态绑定DataTable数据 2.动态添加数据 datagridView数据插入 dataGridView动态绑定数据 1.动态绑定DataTable数据 DataGridView dgv = new DataGridView(); DataTable dt = new DataTable();//DataGridView未设置列名信息的时候可以直接指定DataSource dt.Columns.Add("姓名", Type.GetTy

  • 微信小程序 动态绑定数据及动态事件处理

    微信小程序 动态绑定数据及动态事件处理 关键核心代码 <image class="midimage" data-Type="{{item.Type}}" data-BillCode="{{item.BillCode}}" data-src="{{item.imgurl}}" src="{{item.imgurl}}" mode="scaleToFill" bindtap="

  • BootStrap selectpicker后台动态绑定数据的方法

    本文为大家分享了BootStrap selectpicker后台动态绑定数据的方法,供大家参考,具体内容如下 html部分代码 <select class="selectpicker" multiple> </select> 这是一个下拉多选框,现在要动态往里添加下拉选项. js代码 <script type="text/javascript"> getOption(); function getOption(){ $.ajax(

  • jQuery Ajax实现Select多级关联动态绑定数据的实例代码

    jQuery选择插件分为基本版和美化版,重点说下美化版,如下图所示: 相比最原始的版本,美化后的选择插件可以说是很漂亮了且功能更加强大(这里不说了,自行发掘吧).这里主要是添加了它的特有属性并调用 class="chzn-select": jsp页面: <select class="chzn-select" id="CODE" name="CODE"> ...... </select> js页面: $(

  • js事件on动态绑定数据,绑定多个事件的方法

    一.on('clcik')与$('').clcik()方法的区别: on('clcik'):事件委托机制 // 在body元素上绑定click事件处理函数handler,如果这个click事件是由其后代的P元素触发的,就执行handler $(document.body).on("click", "p", handler); 事件委托机制就是,我们不为每个P元素直接绑定click事件处理函数,而是委托给其某个公共的祖辈元素(此处示例中为document.body),

  • weui中的picker使用js进行动态绑定数据问题

    解决方案; picker和Select组件是通过input标签绑定,可以先通过input的父级元素移除input标签,重新插入input标签,最后重新初始化picker或Select组件. <div class="weui-cell"> <div class="weui-cell__hd"><label for="time-format" class="weui-label">性别</

  • ASP.NET中的DataGridView绑定数据和选中行删除功能具体实例

    首现我们拖入一个DataGridView控件到.aspx页面中,然后绑定你需要显示的列,具体代码如下. 复制代码 代码如下: <asp:GridView ID="gvDepartList" runat="server" AutoGenerateColumns="False"          Height="108px" Width="600px"  OnRowDeleting="gvDep

  • .net控件dropdownlist动态绑定数据具体过程分解

    一.在页面初始化时候将集合绑定到DropDownList 复制代码 代码如下: public void Page_Load(Object src.EventArgs e) { ArrayList arrValue = new ArrayList(); arrValue.add("kk"); arrValue.add("dd"); arrValue.add("aa"); arrValue.add("cc"); //将数组绑定到D

  • vue 中this.$set 动态绑定数据的案例讲解

    感觉网上对this.$set的讲解乱糟糟的,我来总结一下对它单个数据.对象.数组.json数据的绑定. 话不多说直接上代码: <template> <div> <!-- 单个数据 --> <button @click="text0a">text0</button> <p>text0: {{text0}}</p> <!-- 对象 --> <button @click="text

  • BootStrap selectpicker后台动态绑定数据

    项目使用BootStrap设置select时,不能动态加载,使用以下方法可以解决. //获得全部订单信息(订单ID,订单名称) function GetAllOrders(obj) { $.ajax({ type: 'Get', url: '/OrderTypeSetting/GetAllCanUseOrderTypes/', dataType: "Json", success: function (data) { if (!data.flag) { $.each(data, func

随机推荐