PDA

View Full Version : پرینت از چند رکورد انتخابی از دیتا گریدویو



bahar009
شنبه 24 مرداد 1388, 12:02 عصر
سلام دوستان
چطوری میشه از چندتا رکورد دیتاگریدویو پرینت گرفت؟
در واقع می خوام کنار هر رکورد یه چک باکس باشه که بشه کوردها رو انتخاب کرد و بعد یه دکمه در فرم که با فشار دادن اون رکوردهای انتخاب شده پرینت بشن.
اصلا میشه همچین کاری کرد؟

hozouri
شنبه 24 مرداد 1388, 12:11 عصر
دوست عزیز چند تا راه داری ؟
1. با یه حلقه چک کن مواردی که در دیتاتیبل یا دیتاست تیک نخورده حذف بشه.
2. اطلاعات سطر های تیک خورده رو به یه دیتاتیبل یا دیتاست بریز و پاس بده به کریستال ریپورت.
3. برای سطرهایی که تیک خودن یه Query بنویسی و اطلاعات رو بخونی...
و ...

انتخاب راه با خودتونه اما راه اول و دوم از همه راحت تره اما اگر گرید شما به جایی متصله از روش 2 استفاده کن ...

asefy2008
شنبه 24 مرداد 1388, 12:35 عصر
من فکر کنم راه سوم اصولی تره درسته ؟

bahar009
شنبه 24 مرداد 1388, 13:31 عصر
دوست عزیز چند تا راه داری ؟
1. با یه حلقه چک کن مواردی که در دیتاتیبل یا دیتاست تیک نخورده حذف بشه.
2. اطلاعات سطر های تیک خورده رو به یه دیتاتیبل یا دیتاست بریز و پاس بده به کریستال ریپورت.
3. برای سطرهایی که تیک خودن یه Query بنویسی و اطلاعات رو بخونی...
و ...

انتخاب راه با خودتونه اما راه اول و دوم از همه راحت تره اما اگر گرید شما به جایی متصله از روش 2 استفاده کن ...
سلام
ممنون دوست عزیز از اینکه جواب دادید.من مبتدی هستم.میشه در مورد روش دوم یکم توضیح بدید چون گرید به دیتابیس متصله.
من اینجوری چک باکس اضافه کردم




privateDataGridViewCheckBoxColumn CreateCheckBoxColumn()
{
DataGridViewCheckBoxColumn dataGridViewCheckBoxColumn1 = newDataGridViewCheckBoxColumn();
dataGridViewCheckBoxColumn1.HeaderText = "انتخاب";
return dataGridViewCheckBoxColumn1;
}



و برای دکمه کد زیر رو نوشتم



private void btnSelect_Click(object sender, EventArgs e)
{
for (int i = 0; i < dgvproduct.RowCount; i++)
{
if (dgvproduct[dgvproduct.ColumnCount - 1, i].Value != null)
{
myDataAccess da = new myDataAccess();
da.connect();
int col = 0;
string number = dgvorder[col, i].Value.ToString();
string s1 = "select * from production where pnumber='{0}'";
s1 = string.Format(s1, number);
DataTable dt = new DataTable();
dt = da.select(s1);
da.Disconnect();
}






اگه ممکنه بگید بعد از اینکه اون سطرها رو از دیتا تیبل انتخاب کردم چی کار باید بکنم؟
بازم ممنونم

hozouri
شنبه 24 مرداد 1388, 13:52 عصر
DataTable dtView = new DataTable();

//در این قسمت ستون ها رو برای دیتاتیبل که برای نمایش است بساز

foreach (DataGridViewRow row in grid.Rows)
{
if (Convert.ToBoolean(row.Cells["انتخاب"].Value) == true)
{
DataRow newRow = dataTable.NewRow();
//در این قسمت ستون های سطر ها را وارد کن
//مثلاً
newRow["name"] = row.Cells["name"].Value;
dataTable.Rows.Add(newRow);
}
}

//در اینجا هم دیتاتیبل رو به کریستال ریپرت بفرست