最初の列にGridView
3 つのセットで冗長データが表示される があります。コードのインスタンスが 1 つだけ表示されるように、この冗長性を排除する必要があります。
GridView
外観は次のとおりです。
A1234 | Total Entries | 1 | 7 | |
A1234 | Equipment Entries | 1 | 7 | |
A1234 | Total Repair Time | 60 | 140 | |
B9876 | Total Entries | 87 | 36 | 14 |
B9876 | Equipment Entries | 87 | 36 | 143 |
B9876 | Total Repair Time | 2070 | 790 | 370 |
C3456 | Total Entries | 1 | | |
C3456 | Equipment Entries | 1 | | |
C3456 | Total Repair Time | 190 | | |
私がそれをどのように見せたいかというと(そして、適切にフォーマットすることができないようです)、最初の列で、コード A1234、B9876、および C3456 が、表示されているように 3 回ではなく 1 回だけ表示されるようにすることです。黒いスペース/セル。
私が持っている最新のコードは基本的にこれです:
protected void gvMetrics_OnRowDataBound(object sender, GridViewRowEventArgs e)
{
if (e.Row.RowType == DataControlRowType.DataRow)
{
DataRow _data = ((DataRowView)e.Row.DataItem).Row;
// _lastCode is a clas level variable
if (_lastCode.ToString() != _data.ItemArray[0].ToString())
{
if (_totals == 1)
{
_lastCode = _data.ItemArray[0].ToString();
e.Row.Cells[0].Text = _data.ItemArray[0].ToString();
_totals++;
}
}
else
_totals = 1; // Class level variable initialized to 1.
}
}
何らかの理由でコードをフォーマットできませんが、画像は取得できます。ここでの私の推論は、コードをクラス変数に割り当て、各OnRowDataBaound
イベントで値が現在のセルと一致するかどうかを確認するということです。GridView
一致する場合は、 /pageへの書き込みをスキップします。それは機能しなかったので、3 回目のイベントの後に 1 にリセットされるカウンターを使用できると考えましたが、これも機能しませんでした。
私はとても近くにいるように感じますが、葉巻はありません!太陽の下でこれは何も新しいことではないと思うので、親切に解決策を提案できる人がいれば、それを大いに感謝します!