سلام دوستان
برنامه رو سی شارپی و یا ویندوز فرم نوشتم ... برای چاپ هم از استیمول سافت استفاده کردم
توی چاپ کاربرگ مشخصات فردی برای اولین بار دارم از عکس هم استفاده می کنم
برای ارسال عکس توی استیمول یک variable از نوع ایمیج تعریف کردم و اون رو درون ایمیج باکس قرار دادم و از کد زیر برای ارسال عکس استفاده کردم

report.Dictionary.Variables["Image"].ValueObject = Image.FromFile(Application.StartupPath + @"\pic\st" + codemelli + ".jpg");


عکس ها کنار برنامه توی پوشه خودش و با نام کد ملی هر شخص ذخیره شدند
خب با این روش مشکلی نیست و عکس نمایش داده میشه اما من چاپ کاربرگ هام به صورت تجمعی هست و بدین صورت عمل کردم که هر چند تا که بوسیله چک باکس درون دیتاگریدویو تیک میخورند ارسال میشن به چاپ
بنابراین از این کد استفاده کردم :

StiReport report = new StiReport();
report.LoadEncryptedReport(Application.StartupPath + @"\rep\stkar.mrx", "1234");
DataTable dt = new DataTable();
dt.Columns.Add("melli");
dt.Columns.Add("name");
dt.Columns.Add("family");
for (var i = 0; i < rgv.RowCount; i++)
{

if (!Convert.ToBoolean(rgv.Rows[i].Cells[0].Value)) continue;
report.Dictionary.Variables["Image"].ValueObject = Image.FromFile(Application.StartupPath + @"\pic\st" + rgv.ChildRows[i].Cells[1].Value.ToString() + ".jpg");
dt.Rows.Add(rgv.ChildRows[i].Cells[1].Value,
rgv.ChildRows[i].Cells[2].Value,
rgv.ChildRows[i].Cells[3].Value);
}
report.RegData("DataSource1", dt);
report.Reset();
report.Show();


خب وقتی یک مورد تیک میخوره مشکلی نیست باز هم چاپ میشه اون قسمت ادرس عکس هم کد ملی رو از سلول اول که همون کد ملی هست میگیره
اما وقتی چند مورد رو تیک میزنم برای همه عکس ردیف آخر نمایش داده میشه
در واقع اطلاعات درست نمایش داده میشن و تکراری نیستند ولی هر ردیف آخر باشه عکسش برای همه تکرار میشه
خودم خیلی ور رفتم نمیدونم کجای کارم اشکال داره

ممنون میشم راهنمایی کنید