当前位置:编程学习 > C#/ASP.NET >>

datagridview每行按指定数量循环后插入新的datagridview

如图现在有2个datagridview,

其中datagridview1可以编辑,C列单元格是行要循环的数量

点击print 将datagridview1的每行按C单元格的数量循环后添加到datagridview2中。
注:C列数量在datagridview2中可以不显示。

正确的结果应该是
1 1
1 1
2 2
2 2
2 2

请问如何实现? --------------------编程问答--------------------
你貌似发过一个了饿 --------------------编程问答-------------------- 你的意思是不是这样:

通过读取gridview1抓取第三列,然后存到ARRAYLIST
然后把前两列放到datatable

通过循环arraylist.count
根据arraylist[i]
把gridview1.Rows[i][j]每个进行循环,然后形成另外一个datatable 绑定!!! --------------------编程问答-------------------- #2楼
就是这个意思
第一个gridview1里面的每行都要根据最后一列的数量循环。
之后再添加到下面的gridview中。 --------------------编程问答-------------------- 比如第一个DGV中的数据源保存在List<DataList>中,
然后点击Print后,循环获取DGV每一行,根据行ID获取对应List<DataList>中的数据,根据C列的数值,循环几次,添加到新的List<>集合中,新的集合做为DGV2的数据源 --------------------编程问答--------------------


using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;

namespace WindowsFormsApplication5
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }
        DataTable data = new DataTable();
        DataTable data2 = new DataTable();
        private void button1_Click(object sender, EventArgs e)
        {
            DataRow newRow = null;
            foreach (DataRow temp in data.Rows)
            {

                int i = Convert.ToInt32(temp["c"]);
                for (int j = 0; j < i; j++)
                {
                    newRow = data2.NewRow();
                    newRow["a"] = temp["a"];
                    newRow["b"] = temp["b"];
                    data2.Rows.Add(newRow);
                }
            
            }

            dataGridView2.DataSource = data2;

        }

        private void Form1_Load(object sender, EventArgs e)
        {
          
            data.Columns.Add("a");
            data.Columns.Add("b");
            data.Columns.Add("c");

            data.Rows.Add("1", "1", "2");
            data.Rows.Add("2", "2", "3");
            dataGridView1.DataSource = data;

            data2.Columns.Add("a");
            data2.Columns.Add("b");
        }
    }
}



--------------------编程问答-------------------- 刚写完 测试 成功,不行的话,给我要 代码
qq
331224655 --------------------编程问答-------------------- 记得设置好 datagirdview 的 字段的 数据库 名字
补充:.NET技术 ,  ASP.NET
CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,