سلام دوستان
من توی برنامه سی شارپی ام از گریدویو تلریک استفاده می کنم و برای چاپ هم از استیمول سافت

یک جدول دارم با این وضعیت :
Capture.JPG

خب همانطور که مشخصه بعضی از کد ملی ها تکراری هستند
من در واقع میخوام برای هر فرد یک کاغذ A5 به عنوان کاربرگ غیبت فردی چاپ بگیرم
این روش رو انجام دادم و مشکلی نیست
1- ابتدا میام به صورت group by بر اساس کد ملی اطلاعات رو توی یک دیتاگریدویو نمایش میدم
2- وقتی کاربر روی یک ردیف دوبار کلیک می کنه اون کد ملی رو میگیرم و یک بار دیگه یک دیتاتیبل میسازم و اطلاعات رو از جدول میخونم این بار بدون group by و با شرط کد ملی = ؟؟؟ که کد ملی رو از سلول اول میگیرم
3- اطلاعات دیتاتیبل رو میفرستم برای استیمول و تمام

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

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

در ضمن اینطوری خواستم دیتاتیبل بسازم اما نشد :

for (var i = 0; i < rgv.RowCount; i++)
{
if (!Convert.ToBoolean(rgv.Rows[i].Cells[0].Value)) continue;
SQLiteConnection con = new SQLiteConnection(con);
SQLiteCommand cmd = new SQLiteCommand("SELECT * FROM student where melli like '" + rgv.ChildRows[i].Cells["melli"].Value + "'", con);
SQLiteDataAdapter ad = new SQLiteDataAdapter(cmd);
DataSet ds = new DataSet();
ad.Fill(ds, "student");
}


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