我遇到了一个问题,我已经敲打了几个星期......
我想出了一个非常糟糕且极长且令人尴尬的解决方案 现在我想知道我是否可以从你那里得到一些专业的帮助:)
我正在尝试遍历数据网格视图并为我的图像设置顺序 我的in-data是一个datagridview,有两列(id,sortorder)
问题是我的in-data sortorder对于第一张图片是1,对于最后一张图片是2,并且应该介于两者之间 所以我想转换这些值:
id sortorder 9520 1 9520 0 9520 0 9520 0 9520 0 9520 2
对此:
id sortorder 9520 1 (original was 1) 9520 2 9520 3 9520 4 9520 5 9520 6 (original was 2)
编辑: 到目前为止我得到的代码是:
void setSort()
{
dgv2.ColumnCount = 5;
dgv2.Columns[0].Name = "PropertyID";
dgv2.Columns[1].Name = "Type";
dgv2.Columns[2].Name = "Status";
dgv2.Columns[3].Name = "ImageName";
dgv2.Columns[4].Name = "Order";
string id = dgv1[0, 0].Value.ToString();
int sOrder = 0;
foreach (DataGridViewRow row in dgv1.Rows)
{
if (row.Cells["PropertyID"].Value == null) break;
string id2 = row.Cells["PropertyID"].Value.ToString();
if (id2 != id) sOrder = 0;
sOrder++;
row.Cells["Type"].Value = sOrder;
id = id2;
dgv2.Rows.Add(row.Cells[0].Value.ToString(), row.Cells[2].Value.ToString(), row.Cells[3].Value.ToString(), row.Cells[0].Value.ToString() + "-" + id + "." + row.Cells[4].Value.ToString(), id);
}
}
答案 0 :(得分:1)
这会完成这项工作吗?
void setSort()
{
string id = dataGridView1[0, 0].Value.ToString();
int sOrder = 0;
for (int row = 0; row < dataGridView1.Rows.Count; row++)
{
if (dataGridView1[0, row].Value == null) break;
string id2 = dataGridView1[0, row].Value.ToString();
if (id2 != id) sOrder = 0;
sOrder++;
dataGridView1[1, row].Value = sOrder;
id = id2;
}
}
答案 1 :(得分:0)
我设法在数据中进行所需的更改,所以现在我可以使用TaW的解决方案了:) 非常感谢你的帮助和耐心