View Full Version : گزارش گیری انتخابی از طریق گزارش گیر خود ویزوال
maythamahmadi
چهارشنبه 25 دی 1392, 21:24 عصر
سلام.میخوام با استفاده از ابزار گزارش گیری خود ویژوال یه گزارش انتخابی ( مثلا اونایی که اسمشون علی هست ) بگیرم.اساتید ممنون میشم راهنماییم کنید.
maythamahmadi
پنج شنبه 26 دی 1392, 10:02 صبح
یکی نیست کمک کنه
khokhan
پنج شنبه 26 دی 1392, 13:10 عصر
یکی نیست کمک کنه
.................................................. ...........................
....................
متد جستجو برحسب سه پارامتر و ارسال به گزارش ساز استاندارد ویژوال یا همون rdlc با معماری entity
private void button1_Click(object sender, EventArgs e)
{
frm_report fr = new frm_report();
DataSet ds = new DataSet();
DataSet1.DataTable1DataTable tb = new DataSet1.DataTable1DataTable();
var query = (from n in db.zirna
select n);
switch (comboBox1.Text)
{
case "نام":
query = query.Where(r => r.F_name.Contains(textBox1.Text)); break;
case "نام خانوادگي":
query = query.Where(r => r.L_name.Contains(textBox1.Text)); break;
case "آدرس":
query = query.Where(r => r.adress.Contains(textBox1.Text)); break;
default: { break; }
}
foreach (zirna item in query)
{
tb.Rows.Add(item.id, item.F_name, item.L_name, item.tell, item.adress);
}
ds.Tables.Add(tb);
fr.DataTable1BindingSource.DataSource = tb;
fr.reportViewer1.LocalReport.Refresh();
fr.ShowDialog();
}
maythamahmadi
جمعه 27 دی 1392, 12:31 عصر
روشی غیر از روش entity وجود نداره؟
mahtab.kamali
جمعه 27 دی 1392, 12:44 عصر
روشی غیر از روش entity وجود نداره؟
عجب سوالی ؟؟؟؟؟؟؟
مثلا چه روشی ؟
ADO
یا
linq
مهم اینه که اصول اولیه کار دستتون بیاد بعدش دیگه چه فرقی می کنه با کدوم معماری باشه ؟؟!!!
maythamahmadi
جمعه 27 دی 1392, 12:48 عصر
ببخشید دوست من من تازه کارم.( میدونم سوالم خنده داره) با روش ado. ممنون میشم راهنماییم کنید.
samsam_ninja
جمعه 27 دی 1392, 20:23 عصر
تو متد زیر به جای کوئری من کوئری خودت رو بزار
public DataTable select()
{
Conncet();
DataTable dt = DoSelect("select * from KALA");
Disconnect();
return dt;
}
اینم از کدهای لایه دسترسی
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Data.SqlClient;
using System.Data;
namespace Anbar
{
class AccessLayer //amaliyate marboot be har jadval bayad dar yek class neveshte shavad ke an class az in class moshtagh shavad...!!!
{
//private string DataSource;
//private string AttachDbFilename;
//private string Properties;
private static string StringCon = "Data Source=.\\SQLEXPRESS;AttachDbFilename=|DataDirecto ry|\\Anbar_DB.mdf;Integrated Security=True;Connect Timeout=30;User Instance=True";
private SqlConnection con;
private SqlCommand cmd;
private SqlDataAdapter da;
public static void SetConnectionString(string _DataSource, string _AttachDbFilename, string _Properties)
{
AccessLayer.StringCon = "Data Source=" + _DataSource + ";AttachDbFilename=" + _AttachDbFilename + ";" + _Properties;
// for ex : string connection =
//"Data Source=.\\SQLEXPRESS;AttachDbFilename=|DataDirecto ry|\\Database1.mdf;Integrated Security=True;User Instance=True"
}
protected void Conncet()
{
this.con = new SqlConnection(AccessLayer.StringCon);
this.cmd = new SqlCommand();
this.da = new SqlDataAdapter();
cmd.Connection = con;
da.SelectCommand = cmd;
con.Open();
}
protected void Disconnect()
{
con.Close();
}
protected DataTable DoSelect(string SQL)
{
DataTable dt = new DataTable();
cmd.CommandText = SQL;
da.Fill(dt);
return dt;
}
protected void DoIt(string SQL)
{
cmd.CommandText = SQL;
cmd.ExecuteNonQuery();
}
public static bool isserviceon()
{
AccessLayer a = new AccessLayer();
try
{
a.Conncet();
a.Disconnect();
return true;
}
catch (Exception)
{
return false;
}
}
}
}
فقط حواست به string connection باشه...!!!
در آخر هم اون شیء رو که میخوای این جدول بش ارسال کنی(datagridveiw یا فرم گزارش یا هر چیز دیگه) datasource ش رو برابر خروجی متد بالایی(اولین متدی که گفتم) قرار بده!
اگه برنامه نویس باشی کارت با این حله( البته کدنویس ، چون برنامه نویسیش رو که من انجام دادم )
موفق باشی
vBulletin® v4.2.5, Copyright ©2000-1404, Jelsoft Enterprises Ltd.