PDA

View Full Version : ارسال ردیف های تیک خورده در کمبوباکس به استیمول



momimomi
یک شنبه 07 اردیبهشت 1393, 01:32 صبح
با سلام
یه دیتاگرید دارم که یک ستون چک باکس داره میخوام:
1- مثلا تعداد 10 ردیف رو تیک زده:متفکر: و با کلیک روی دکمه گزارش این ده ردیف رو به فرم دیگری که دارای دیتا گرید هست منتقل کنه:گیج: و سپس به گزارش استیمول ارسال کنه:متعجب:
2- هر ردیف از دیتاگرید رو در یک صفحه استیمول چاپ کنه:لبخند:
ممنون از لطف شما مهندسان توانمند ایرانی:تشویق:

hosseinbarnamenevis
یک شنبه 07 اردیبهشت 1393, 08:04 صبح
دلیل اینکه میخواین به دیتا گرید دیگه منتقل کنید چیه؟!!!
شما برای اینکه ردیف های تیک خورده رو چاپ کنید میتونید از دیتا تیبل استفاده کنید و ردیف های تیک خورده رو بیزید داخلش
حالا اگه میخواین هر کدوم جدا چاپ بشه میتونید بازم همین روش اما با یه حلقه دیگه تک تک بریزید داخلش و بفرستید به چاپ ! یعنی میشه از حلقه استفاده کرد!

mehrdad.ghorbaniyan
یک شنبه 07 اردیبهشت 1393, 08:16 صبح
سلام دوست عزیز.این کدو برات نوشتم و تست کردم کار کرد.خودمم تقریبا تو پروژه هام از همین کد استفاده میکنم.اول میام تو یه حلقه for چک میکنم میبینم کدوم از ردیف ها تیک خورده.بعد اگه تیک خورده بود آی دی (کلید اصلی) اون ردیف رو تو یه متغیر ذخیره میکنم.بعد هم که for تموم شد.میام دیتاست را با اون کد پر میکنم و میفرستم به استیمول
اگه خواستی هر ردیف تو یه برگه چاپ بشه باید تو طراحی ریپورت انجام بدی.
اینم کد :

private void fill_info_print()
{
count = 0;
where = "";
for (int j = 0; j < gv_phonebook.RowCount; j++)
{
if (Convert.ToBoolean(gv_phonebook.Rows[j].Cells[1].Value) == true)
count_chek_selected = 1;
}
if (count_chek_selected == 1)
{
SqlConnection con = new SqlConnection();
con.ConnectionString = @"Data Source=.;Initial Catalog=CRM2;Integrated Security=True";
con.Open();
SqlCommand cmd = new SqlCommand();
cmd.Connection = con;
for (int i = 0; i < gv_phonebook.RowCount; i++)
{
if (Convert.ToBoolean(gv_phonebook.Rows[i].Cells[1].Value) == true)
{

chek_where();
where += gv_phonebook.Rows[i].Cells[0].Value;
count++;

}

}
cmd.CommandText = "select * from phonebook where id=" + where;
SqlDataAdapter da = new SqlDataAdapter();
da.SelectCommand = cmd;
da.Fill(this.dataSet_phonebook.phonebook);
}
}
private void chek_where()
{
if (count > 0)
{
where += " or id=";
}
}


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