opendb();
SqlCmd.CommandText = "SELECT Or_ID,Returner.PP_ID, Product.PP_Name, Amount, Price, Note FROM Product,Returner WHERE Re_ID='" + tbReID.Text + "'AND Returner.PP_ID=Product.PP_ID ORDER BY Re_ID";
Sqldr = SqlCmd.ExecuteReader();
DataTable dtType = new DataTable();
dtType.Load(Sqldr);
dgvList.DataSource = dtType;
Sqldr.Close();
for (int i = 0; i <= dgvList.Rows.Count; i++)
{
SqlCmd.CommandText = "Select Amount,Price from Returner where Or_ID='" + dgvList.Rows[i].Cells[0].Value.ToString() + "' AND PP_ID='" + dgvList.Rows[i].Cells[1].Value.ToString() + "'";
opendb();
Sqldr = SqlCmd.ExecuteReader();
if (Sqldr.HasRows)
{
Sqldr.Read();
int AAmount = Sqldr.GetInt32(0);
double PPrice = Sqldr.GetDouble(1);
//PPrice = Convert.ToInt32(gvSale.Rows[i].Cells[2].Value.ToString());
//Convert.ToInt32(PPrice);
double total = AAmount * PPrice;
total = Convert.ToDouble(dgvList.Rows[i].Cells[6].Value.ToString());
}
}
setgvProduct();
error ว่า Index was out of range. Must be non-negative and less than the size of the collection.
Parameter name: index งงจัดขอความช่วยเหลือด้วยนะครับ ขอบคุณล่วงหน้า
total = Convert.ToDouble(dgvList.Rows[i].Cells[6].Value.ToString()); ปัญหาคือไม่ไม่ยอมลงในกริดครับ คือจะเพิ่มค่าที่เรารวมได้เนี้ยให้สร้างคอลัมใหม่ในกริด(ดังรูป)
คือจะบอกว่า ถ้าต้องการ เอาแค่ price * unit ก็เพิ่มใน select
SqlCmd.CommandText = "SELECT Or_ID,Returner.PP_ID, Product.PP_Name, Amount, Price,Amount * Price As total ,Note FROM Product,Returner WHERE Re_ID='" + tbReID.Text + "'AND Returner.PP_ID=Product.PP_ID ORDER BY Re_ID"