PDA

View Full Version : کمک در مورد ارسال اطلاعات درون دیتاگرید



jas1387
یک شنبه 09 اسفند 1388, 21:20 عصر
سلام بر دوستان عزیز

من توی فرمم یه دیتاگرید و چند تا Textbox دارم که اطلاعات درون دیتاگریدم را فیلتر می کنم حالا می خواهم نتیجه این فیلتر ( اطلاعاتی که درون دیتاگرید هست) را به فرمی بفرستم تا گزارش حاصله از این اطلاعات باشه . چیکار کنم ؟

FastCode
یک شنبه 09 اسفند 1388, 21:25 عصر
DataTable.Select

jas1387
یک شنبه 09 اسفند 1388, 21:29 عصر
لطفا بیشتر توضیح بدهید

FastCode
یک شنبه 09 اسفند 1388, 21:49 عصر
http://msdn.microsoft.com/en-us/library/system.data.datatable.select(VS.71).aspx

jas1387
یک شنبه 09 اسفند 1388, 21:54 عصر
دوست عزیز ضمن تشکر از شما من وقت زیادی ندارم تا این مطلب را ترجمه کن و به جوابم برسم من باید فردا پروژه ام را تحویل بدهم اگر لطفا کنید و به زبان شیرین فارسی مرا راهنمایی کنید ممنون می شوم

باز هم تشکر

FastCode
یک شنبه 09 اسفند 1388, 22:06 عصر
دوست عزیز ضمن تشکر از شما من وقت زیادی ندارم تا این مطلب را ترجمه کن و به جوابم برسم من باید فردا پروژه ام را تحویل بدهم اگر لطفا کنید و به زبان شیرین فارسی مرا راهنمایی کنید ممنون می شوم

باز هم تشکر

راستش رو بخوای من 2 سالی میشه که دست به دیتا ست نزدم.
ولی راهش فکر میکنم که اینه:
System.Data.DataRow[] Rows = MyDataTable.Select("Code= 32");
Form2 f = new Form2(Rows);


public class Form2:Form
{
public Form2(object src)
{
datagridview1.datasource =src;
}
}
کد رو بدون IDE نوشتم.
امکان داره که درست نباشه.

sara.f
دوشنبه 10 اسفند 1388, 00:35 صبح
سلام بر دوستان عزیز

من توی فرمم یه دیتاگرید و چند تا Textbox دارم که اطلاعات درون دیتاگریدم را فیلتر می کنم حالا می خواهم نتیجه این فیلتر ( اطلاعاتی که درون دیتاگرید هست) را به فرمی بفرستم تا گزارش حاصله از این اطلاعات باشه . چیکار کنم ؟

سلام
یعنی منظورتون اینه که اطلاعات گرید ویو را از data base می گیرید و بعد با توجه به مقادیر موجود در textbox ها اطلاعات را فیلتر می کنید؟

jas1387
دوشنبه 10 اسفند 1388, 00:55 صبح
من نمی خواهم دیتاگرید را مقدار دهی کنم من میخواهم مقدار های که درون دیتاگرید هست را به فرم گزارش ام ارسال کنم

لطفا کمک کنید

jas1387
دوشنبه 10 اسفند 1388, 01:00 صبح
سلام
یعنی منظورتون اینه که اطلاعات گرید ویو را از data base می گیرید و بعد با توجه به مقادیر موجود در textbox ها اطلاعات را فیلتر می کنید؟

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

sara.f
دوشنبه 10 اسفند 1388, 02:12 صبح
تقریبا درسته ولی مشکل من انتقال داده های باقی مانده از فلیتر ( توی دیتاگرید ) هست که می خواهم به فرم گزارش ام منتقل کنم

تقریبا ؟ خب کجاش درسته؟ کجاش نادرست؟
بالاخره شما اطلاعات را از database می گیری یا نه؟
دوست عزیز اول باید صورت مسئله را کامل توضیح بدی، تا بشه یه جواب درست داد.
با چی گزارش می گیرید؟ crystal report ؟

jas1387
دوشنبه 10 اسفند 1388, 08:23 صبح
سلام


تقریبا ؟ خب کجاش درسته؟ کجاش نادرست؟
بالاخره شما اطلاعات را از database می گیری یا نه؟
دوست عزیز اول باید صورت مسئله را کامل توضیح بدی، تا بشه یه جواب درست داد.
با چی گزارش می گیرید؟ crystal report ؟

من اطلاعات را از دیتابیس می گیریم و توی دیتاگرید می ریزم و روی فرمم یکی combobox دارم و یک Textbox که با توجه به item انتخاب شده در combobox و مقدار قرار داده شده در Textbox فیلتر انجام می شود

نمونه ای از کد فیلترم



if (cmbCall.Text == "شماره پرونده")
{
personalBindingSource.Filter = "Docnumber=" + boxDocument.Text + "";
}

بله من از Crystal Report خود ویژال استادیو استفاده می کنم

لازم به ذکر است که ارتباط های من با دیتابیس به صورت ویزاردی هست و با استفاده از DataSet

naerika
دوشنبه 10 اسفند 1388, 11:32 صبح
من نمی خواهم دیتاگرید را مقدار دهی کنم من میخواهم مقدار های که درون دیتاگرید هست را به فرم گزارش ام ارسال کنم

لطفا کمک کنید



سلام.
من خودم همه فیلدها رو می خونم از دیتابیس، بعد توی ادیت گرید ویو هر فیلدی رو نخوام نشون بده ویزیبلش رو فالس می کنم، اینجوری وقتی روی سطر مورد نظرم کلیک می کنم و دکمه ی نمایش رو می زنم توی فرم جدید تمام اطلاعات اون تیبلم نمایش داده می شه.

یه نمونه اینجا هست : http://csharpcorner.ir/ توی پروژه ی دفترچه تلفن. توی دکمه ی ویرایشش.

jas1387
دوشنبه 10 اسفند 1388, 11:55 صبح
سلام


سلام.
من خودم همه فیلدها رو می خونم از دیتابیس، بعد توی ادیت گرید ویو هر فیلدی رو نخوام نشون بده ویزیبلش رو فالس می کنم، اینجوری وقتی روی سطر مورد نظرم کلیک می کنم و دکمه ی نمایش رو می زنم توی فرم جدید تمام اطلاعات اون تیبلم نمایش داده می شه.

یه نمونه اینجا هست : http://csharpcorner.ir/ توی پروژه ی دفترچه تلفن. توی دکمه ی ویرایشش.

دوست عزیز بهت پیشنهاد می کنم اول تایپک را از اول بخونی و بعد پاسخ بفرستی (ممنون)

سوال من یه چیز دیگه هست

sara.f
دوشنبه 10 اسفند 1388, 12:13 عصر
سلام



من اطلاعات را از دیتابیس می گیریم و توی دیتاگرید می ریزم و روی فرمم یکی combobox دارم و یک Textbox که با توجه به item انتخاب شده در combobox و مقدار قرار داده شده در Textbox فیلتر انجام می شود

نمونه ای از کد فیلترم



if (cmbCall.Text == "شماره پرونده")




{


personalBindingSource.Filter = "Docnumber=" + boxDocument.Text + "";


}




بله من از Crystal Report خود ویژال استادیو استفاده می کنم


لازم به ذکر است که ارتباط های من با دیتابیس به صورت ویزاردی هست و با استفاده از DataSet




سلام


شما می تونی یه کوئری بنویسی که همین کار فیلتر را انجام بده و نتیجه را در یه dataset بریزی و اونو بدی به کریستال .


به طور مثال:




if (cmbCall.Text == "شماره پرونده")
{
DataSet ds = newDataSet();
SqlDataAdapter objadapter = newSqlDataAdapter();
objadapter.SelectCommand = newSqlCommand("select feild1,field2,field3 from table where Docnumber= " + boxDocument.Text, objconn);
objconn.Open();
objadapter.Fill(ds, "table_1");
objconn.Close();
}


بعد از اون هم dataset را به فرم گزارش بدید.



reportDocument.SetDataSource(ds);

jas1387
دوشنبه 10 اسفند 1388, 12:17 عصر
سلام



سلام


شما می تونی یه کوئری بنویسی که همین کار فیلتر را انجام بده و نتیجه را در یه dataset بریزی و اونو بدی به کریستال .


به طور مثال:




if (cmbCall.Text == "شماره پرونده")
{
DataSet ds = newDataSet();
SqlDataAdapter objadapter = newSqlDataAdapter();
objadapter.SelectCommand = newSqlCommand("select feild1,field2,field3 from table where Docnumber= " + boxDocument.Text, objconn);
objconn.Open();
objadapter.Fill(ds, "table_1");
objconn.Close();
}
بعد از اون هم dataset را به فرم گزارش بدید.



reportDocument.SetDataSource(ds);


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

FastCode
دوشنبه 10 اسفند 1388, 12:49 عصر
@jas1387 :
اگر کمک میخواهی باید کدت رو بفرستی به دو دلیل
1.کسی چشمداشتی به کد شما نداره.
2.ما علم غیب نداریم
3.شما چند بار سوالت رو عوض کردی.
...
ولی فکر میکنم این کد هم به کارت بیاد.(بخش بعدی که میخواهی اطلاعات رو بفرستی به Crystal)

reportViewer1.LocalReport.DataSources.Add(new Microsoft.Reporting.WinForms.ReportDataSource("DataSourceName == NameOfDataTable", BindingSource which contains array of rows));

this.reportViewer1.RefreshReport();