PDA

View Full Version : سرچ در گرید ویو



sara_mp
جمعه 29 آبان 1388, 16:19 عصر
با سلام
من داده هام رو از sql خوندم و در یک گرید ویو نشون دادم حالا می خواهم یک تکس باکس بزارم به عنوان سرچ که هر چی درونش نوشتم اگر درون گرید ویو وجود داشت توی همون گرید ویو نشون بده مثلا سطرش آبی بشه
در واقع نمی خواهم نتیجه سرچم رو تو یه گرید ویو دیگه نشون بدم.:خجالت:

sunn789
جمعه 29 آبان 1388, 16:44 عصر
چند مورد لازمه که انجام بدین اول ینکه شما عمدتاً از Dataset برای خوندن اطلاعات استفاده کردین و این بهاین معنی است که بعد از پر شدن dataset ارتباط با بانک اطلاعاتی قطع شده
در این موقع لازمه شما دوباره یک Quary بنویسید و به بانک اطلاعاتی بفرستید و اطلاعات برگشتی رو دوباره در DataGridView or gridview نمایش بدین به این معنی که فط لازمه با استفاده ار String.Format() یه quary بسازید و به بام اطلاعاتی تون بفرستید

sara_mp
جمعه 29 آبان 1388, 17:01 عصر
میشه یه مثال بزنین یا کدشو اینجا بزارین .

AliRezaPro
جمعه 29 آبان 1388, 18:17 عصر
در رویداد TextChange

private void textBox2_TextChanged(object sender, EventArgs e)
{

DataSet ds = new DataSet();
SqlDataAdapter objDataAdapter = new SqlDataAdapter("Select * From Man7tomani where FirstName Like N'" + textBox2.Text + "%'", conn);
objDataAdapter.Fill(ds, "Man7tomani ");
DataTable dt = new DataTable();
dt = ds.Tables["Man7tomani "];
dt.DefaultView.RowFilter = "FirstName like'%" + textBox2.Text + "%'";
if (dt.DefaultView.Count == 0)
MessageBox.Show("!" + "کلمه ی مورد نظر پیدا نشد ");
dataGridView2.DataSource = dt.DefaultView;
dt = null;

}
یا اینکه BindingSource را فیلتر کنید بدین شکل
BindingSource.Filter = "Name='" + textBox1.Text + "'";

sunn789
جمعه 29 آبان 1388, 23:00 عصر
این یک راه حل که دوستمون گفت و بتاونچه که من در این تالارها دیدم تقریباً عمومی ترین راه حله اما دو تا ره حل دیکه که اولی کاملاً ساخت دست شماست ودومی بیشتر ساخت دست VS
اولین اینکه یه Class برای برقراری ارتباط با بانک اطلاعاتی بسازی به نحوی که در ابتدا CLass نام بانک اطلاعاتی رو بگیره و چند متد Public که از بیرون قابل دسترسی باشند و از شما Quary در خواست کنند و هر زمان شما راحت بتوانید یک Quary به ان پاس کنید و مثلاً یک DataTable دریافت کنید و از DataTable هر جا لازم بود استفاده کنید
اما راه حل دوم اینکه از گزینه Add new Item یک DataSet به برنامه اضافه کنید و در DataAdapter هایی که ایجاد میکنید قسمت Where آضافه کنید مانند

Where PersonCode = @PersonCode
که در زمانی که این DataAdater را صدا بزنید و یا از فرمان Get() استفاده کنید از شما Person Code رو میخوا د

و اما استفاده از String.Format()

string myQuary = String.format(SELECT * FROM tblPersonInformation WHERE PersonCode = {0} and Age = {1},txtPesonCode.text,int.pars(txtAge.text))
که در فرمت بالا یک سوال از بانک اطلاعاتی می پرسه و از شما ادرس کد پرسنلی و سن رو از درون TextBox میپرسه

yanni2
پنج شنبه 17 مرداد 1392, 03:36 صبح
من از این کد استفاده کردم کد اولی که گذاشتی نمایش میده فقط میخواستم بدونم چطوری header ستون ها را فارسی کنم یا نامشون را عوض کنم؟ ممنون