Thank you for clarifying the requirement.
If you want the additional data then you can do the calculation in the sql rather than within the gridview i.e.
sqL = "SELECT remittance_no, remit_date, messenger, item, item_value, rate.product, rate.product_value, rate.product_value * item_value as total_value FROM remittance INNER JOIN rate ON rate.product=remittance.item where rate.ratecode =@rcde and remittance.messenger =@msgr and remit_date between @dfrom and @dto"
and then
dgw.Rows.Add(dr("remittance_no"), dr("remit_date"), dr("messenger"), dr("item"), dr("item_value"), dr("product_value"), dr("total_value"))
Note that instead of the loop you can populate the DataGridView semi-directly from the reader using a DataTable :
Dim dt = new DataTable()
dt.Load(dr)
dgw.AutoGenerateColumns = True
dgw.DataSource = dt
dgw.Refresh()
(
credit[
^])