you can think of a DataTable as a TMap<FName RowName, FMyDataTableRow Row>
so as long as you have a “meaningful” way to derive the FName RowName
from your item that exists in the world (or container) you should be able to do a MyDataTable->GetRow(FName RowName)
whether that be giving your item’s struct a FName that “just so happens” to be the same FName that is the RowName, or if the RowName is your ItemID
that part is up to you.
remember that FName must be “Exact” otherwise it will fail to resolve.