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");
}
}
}
--------------------编程问答-------------------- 刚写完 测试 成功,不行的话,给我要 代码
331224655 --------------------编程问答-------------------- 记得设置好 datagirdview 的 字段的 数据库 名字
补充:.NET技术 , ASP.NET