PDA

View Full Version : سوال: نمایش فیلدهای یک جدول در لیست باکس



ahmad1010
جمعه 10 شهریور 1391, 11:48 صبح
سلام
لطفا راهنمایی کنید چه طوری می تونم فیلدهای یک جدول را در لیست بوکس نمایش بدم. البته دیتا گرید لازم نیست. و باید در لیست بوکس تنها یک رکورد نمایش داده بشه و با دکمه های بعدی و قبلی پیمایش بشه.

ahmad1010
جمعه 10 شهریور 1391, 13:46 عصر
لطفا اگه راهی هست دریغ نفرمایید. هر چی سرچ کردم نتیجه ای نداشت.

firoozi90
جمعه 10 شهریور 1391, 15:33 عصر
لطفا اگه راهی هست دریغ نفرمایید. هر چی سرچ کردم نتیجه ای نداشت.


string cnString = @"Data Source=.\SQLEXPRESS;AttachDbFilename=|DataDirector y|\SELLPC.mdf;Integrated Security=True;User Instance=True";
SqlConnection cn = new SqlConnection(cnString);
cn.Open();
SqlCommand com = new SqlCommand("SELECT * FROM TBLCPU WHERE MDLCPU LIKE '" +cmbmdlcpu. Text + "%'", cn);
SqlDataAdapter da = new SqlDataAdapter(com);
DataTable otabale = new DataTable();
da.Fill(otabale);
cn.Close();
ListBo1.items.Add(otabale.Rows[0]["PRCCPU"].ToString()( ;




با این کد مشکلت حل میشه

ahmad1010
یک شنبه 12 شهریور 1391, 07:49 صبح
با سلام
با تشکر - این کد تنها رکورد اول رو در لیست باکس نشون می ده . اما من می خوام تمام رکوردهای بازیابی شده را یکی یکی در لیست باکس با دکمه های "رکوردبعدی" و"رکورد قبلی" نشون بدم.
دوستان لطفا اگه راهی هست بفرمایید.

elderado
یک شنبه 12 شهریور 1391, 09:18 صبح
دوست عزیز شما همون خط آخر کدی که دوستمون نوشتن رو بذارش داخل یه حلقه که به تعداد فیلد های جدولت تکرار بشه و بجای اون عدد 0 که توی براکت جلوی کلمه ی rows هست هم متغیر حلقه رو بذار
اینجوری همه ی فیلد ها میاد توی لیست باکس

ahmad1010
یک شنبه 12 شهریور 1391, 10:00 صبح
سلام Elderado عزیز همون طور که گفتم من می خوام تمام رکوردهای بازیابی شده رو یکی یکی داخل لیست باکس نشون بدم. یعنی اول تنها رکورد اول نمایش داده بشه و برای رکوردهای بعدی از دکمه های بعدی و قبلی استفاده کنم. باید تنها در لیست باکس یک رکورد باشه. نه همه فیلدها.

mehrdad85
یک شنبه 12 شهریور 1391, 11:18 صبح
سلام
دوست عزیز تصمیم داری که ابتدا یه سطر توسط لیست باکش نمایش داده بشه و بعد از اون با فشردن دکمه بعدی یا قبلی رکورد قبل یا بعد از اون رکورد در لیست باکست نمایش داده بشه دیگه
درسته؟
اگه چنین کاری میخوای بکنی دوست عزیزم شما را راهنمایی کرد میتونی دقیقا از همون خط آخر کد داخل یک حیقه for استفاده کنی و شمارشگر اونو برابر تعداد سطر های جدول دیتابیست قرار بدی
اما اگه کر دیگه ای میخوای انجام بدی خواهشا توضیح بیشتری بده چون فکر میکنم من و بقیه دوستان اینطوری برداشت کردیم


موفق باشید

firoozi90
یک شنبه 12 شهریور 1391, 12:07 عصر
همونطور که دوستامون گفتن.فکر کنم این کد بت کمک کنه
امیدوارم منظورتو درست متوجه شده باشیم



string cnString = @"Data Source=.\SQLEXPRESS;AttachDbFilename=|DataDirector y|\SELLPC.mdf;Integrated Security=True;User Instance=True";

SqlConnection cn = new SqlConnection(cnString);

DataSet dataset = new DataSet();

string query = "SELECT * FROM TBLCPU WHERE MDLCPU LIKE '" + TextBox1.Text + "%'" ;

SqlDataAdapter datada = new SqlDataAdapter(query, cn);

datada.Fill(dataset, "TBLCPU");

for (int i = 1; i <= dataset.Tables["TBLCPU"].Rows.Count; i++)
{

string str = (string)(dataset.Tables["TBLCPU"].Rows[i - 1]["MDLCPU"]);

if (str.Contains(TextBox1.Text))

)listBox1.Items.Add( dataset.Tables["TBLCPU"].Rows[i - 1]["PRCCPU"].ToString();


}

elderado
یک شنبه 12 شهریور 1391, 16:31 عصر
من متوجه شدم دوستمون چیکار میخواد بکنه
باید زیر دکمه ی رکورد بعدی و رکورد قبلی همه ی این دستور ها رو بنویسی با این تفاوت که عدد توی براکت جلوی کلمه ی rows رو زیر دکمهی بعدی باید یه دونه بهش اضافه کنی و برای دکمه ی قبلی هم یهدونه کم کنی
یه -1 یا + 1 کارتو را میندازه
همینطور که دوست عزیزمون جناب فیروزی نوشتن
اما حلقه رو بردار و کد ها رو زیر دکمه ها کپی کن و برای هر کدوم از دکمه ها خط مربوط به خودشو براش بذار و اون یکی رو حذف کن

ahmad1010
چهارشنبه 15 شهریور 1391, 14:41 عصر
با سلام
این کد متاسفانه جواب نداد. لطفا اگه کسی پاسخ سوال منو می دونه جواب بده.
در این کد اگه حلقه FOR حذف بشه کلا قسمت[ Row[i+1 خطا می گیره .همچنین بیش از یک رکورد در لیست باکس نشان داده می شه .

ahmad1010
پنج شنبه 16 شهریور 1391, 17:45 عصر
به نظر می رسه این کار شدنی نباشه. ولی اگه کسی میتونه لطفا کمک نمایید.