Task from manufacture. Page show last 100 packages of product. Screen divided on two parts: left - list of button, which contain code (like id) of element in database, and right - data of selected package (by chosen code in left part).
<Div Class="d-flex flex-column">
@{
packages = dbCommands.Select("Prod.Packages", 100);
}
@for (int i = 0; i < packages.Rows.Count; i++)
{
<button class="btn" onclick=@(()=>{ selectedPackage = i;})>
<PackageCardMini serialCode=@GetSerialCode(packages, i) date=@GetDate(packages, i)/>
</button>
}
</Div>
<Div Class="d-flex flex-column">
@if (packages != null && selectedPackage != null)
{
<PackageCard package_id=@GetPackageID(packages, selectedPackage)
number=@GetNumber(packages, selectedPackage)
packageCode=@GetPackageCode(packages, selectedPackage)
serialCode=@GetSerialCode(packages, selectedPackage)
date=@GetDate(packages, selectedPackage)
model_id=@GetModelID(packages, selectedPackage)
line_id=@GetLineID(packages, selectedPackage)
quantity=@GetQuantity(packages, selectedPackage)
description=@GetDescription(packages, selectedPackage) />
}
</Div>
</Div>
- packages - data from db, which contain 100 last row from table "Prod.Pacakges"
- selectedPackage - number of row, that contain needed package
In this code I try to select row number in onclick event by push i in anonim function. But always i equal last number of rows.
Also I try to push button element to function by using ElementReference, but in this way, how I understand, every element should be static, no generate in loop.