PDA

View Full Version : سوال: جستجوی اطلاعات در دیتا گرید



m_iman_e
یک شنبه 26 آبان 1392, 02:01 صبح
سلام به همه
من از کد زیر برای جستجوی اطلاعات استفاده می کنم در فرم هایی که عمل جستجو در یک فرم انجام میشه مشکلی ندارم

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

لطفا راهنمایی کنید



daftar_chek_daryafti_frm llll = new daftar_chek_daryafti_frm();

objset.Clear();
dataadapter.SelectCommand = new SqlCommand();
dataadapter.SelectCommand.Connection = objconn6;
dataadapter.SelectCommand.CommandText = "select * from chek_daryafti WHERE bank=N'" + comboBoxEx1.Text + "' ";
dataadapter.FillSchema(objset, SchemaType.Source, "chek_daryafti");
dataadapter.Fill(objset, "chek_daryafti");
llll .dataGridViewX1.AutoGenerateColumns = true;
llll .dataGridViewX1.DataSource = objset;
llll .dataGridViewX1.DataMember = "chek_daryafti";
llll .dataGridViewX1.Columns[0].HeaderText = "id ";
llll .dataGridViewX1.Columns[0].Visible = false;
llll .dataGridViewX1.Columns[1].HeaderText = "تاریخ دریافت";
llll.dataGridViewX1.Columns[2].HeaderText = "نام شخص ";
llll.dataGridViewX1.Columns[3].HeaderText = "مبلغ چک";
llll.dataGridViewX1.Columns[4].HeaderText = "بانک ";
llll.dataGridViewX1.Columns[5].HeaderText = "شعبه ";
llll.dataGridViewX1.Columns[6].HeaderText = "شماره حساب ";
llll.dataGridViewX1.Columns[7].HeaderText = "شماره چک ";
llll.dataGridViewX1.Columns[8].HeaderText = "تاریخ وصول ";
llll.dataGridViewX1.Columns[9].HeaderText = "وضعیت ";

m_iman_e
یک شنبه 26 آبان 1392, 02:15 صبح
خواهش می کنم جواب بدین ؟

m_iman_e
یک شنبه 26 آبان 1392, 02:21 صبح
دوستان من باید پروژه را فردا تحویل بدم لطفا کمک کنید

rahnema1
یک شنبه 26 آبان 1392, 06:03 صبح
چون نام جدول ها و نام فیلد ها و نام کنترل های روی فرم رو نمی دونستم واسه هر کدوم یه نام حدسی گذاشتم
جستجوی شما باید این شکل رو داشته باشه


if (textbox_tarikhsarresid_1.Text==""){
sarresidfrom="textbox_tarikhsarresid_2.Text";
sarresidto="textbox_tarikhsarresid_3.Text";
}
else
{
sarresidfrom="textbox_tarikhsarresid_1.Text";
sarresidto="textbox_tarikhsarresid_1.Text";
}
if (textbox_tarikhdaryaft_3.Text==""){
daryaftfrom="textbox_tarikhdaryaft_1.Text";
daryaftto="textbox_tarikhdaryaft_2.Text";
}
else
{
sarresidfrom="textbox_tarikhdaryaft_3.Text";
sarresidto="textbox_tarikhdaryaft_3.Text";
}
select * from chek_daryafti WHERE bank=N'" + comboBoxEx1.Text + "' and vaziat= comboBox2.Text,tarikhsarresid>=sarresidfrom and tarikhsarresid<=sarresidto and tarikhdaryaft>=daryaftfrom and tarikhdaryaft<=daryaftto

m_iman_e
یک شنبه 26 آبان 1392, 06:13 صبح
سلام دوست عزیز

ممنونم که جواب دادی

یه خواهش میشه بیشتر توضیح بدی بخش شرط های if را متوجه نمیشم

rahnema1
یک شنبه 26 آبان 1392, 06:46 صبح
علتش فرم شماست شما مثلا برای تاریخ سر رسید دو نوع جستجو دارید یکی اینکه تاریخ رو دقیقا می دونید و یکی دیگه اینکه یه بازه زمانی می دهید
در هر صورت هر کدوم از دو مورد اگه در فرم وارد بشه میشه بصورت یک دستور sql اون رو نوشت
یعنی اگه تاریخ سررسید معلوم باشه که مثلا امروز باشه اون رو میشه در sql به صورت بازه زمانی نوشت مثل: از امروز تا امروز
تا هر دو فرم جستجو یکسان بشوند
if هم واسه اینه که ببینه اگه تکست باکس اولی خالی بود مقادیر بازه زمانی رو از دومی و سومی بگیره
ولی اگه اولی خالی نبود ما مقدار "از" و مقدار "تا" رو از همون تکست باکس استخراج کنیم