あなたはRoでこれを行うことができますグリッドビューのwDataBoundは簡単です。
数量、在庫、製品、およびベンダーを取得するだけで済みます。しかし、あなたはまた、以下の関数でこれを行うことができます、それはあなたに何か重複している場合はレコードを与えるでしょうgridview。
public void HighlightDuplicate(GridView gridview)
{
for(int currentRow = 0; currentRow < gridview.Rows.Count - 1; currentRow++)
{
GridViewRow rowToCompare = gridview.Rows[currentRow];
for (int otherRow = currentRow + 1; otherRow < gridview.Rows.Count; otherRow++)
{
GridViewRow row = gridview.Rows[otherRow];
bool duplicateRow = true;
//example: check Duplicate on column vendor(cell#0) and product(cell#1)
if ((rowToCompare.Cells[0].Text) != (row.Cells[0].Text) && (rowToCompare.Cells[1].Text) != (row.Cells[1].Text))
{
duplicateRow = false;
}
else if (duplicateRow)
{
rowToCompare.Cells[1].Text = Convert.ToInt32(row.Cells[1].Text) + Convert.ToInt32(rowToCompare.Cells[1].Text);
row.Visible=false;
}
}
}
}
この機能では、セルを持つ行と内部を比較してセルの値をチェックしていることを確認できます。
if ((rowToCompare.Cells[0].Text) != (row.Cells[0].Text) && (rowToCompare.Cells[1].Text) != (row.Cells[1].Text))
{
duplicateRow = false;
}
else if (duplicateRow)
{
rowToCompare.Cells[1].Text = Convert.ToInt32(row.Cells[1].Text) + Convert.ToInt32(rowToCompare.Cells[1].Text);
row.Visible=false;
}
セルインデックス0と1を比較します。同じ場合はベンダーと製品が同じであることを意味します。ベンダーと製品が同じであれば、その値と設定を1つの行と2つ目の行に結合しています。表示可能なfalseを設定します。必要に応じて他の操作を実行できます。それに応じて任意の操作を行うことができます。 この関数は、DataBind()の後に呼び出すことができます。例えばGridViewのIDは、その後Gridview1の場合:
HighlightDuplicate(this.GridView1);