PDA

View Full Version : سوال: نحوه نمایش اطلاعات در TextBox بر اساس آیتم انتخابی در ListBox



samira3
یک شنبه 29 فروردین 1389, 15:30 عصر
سلام
من میخوام وقتی listboxباز کردم ویکی ازش انتخاب کردم بقیه txtboxخود به خود پر شه مثلا اگر کد دانشجوی 111111درlistboxانتخاب شد بقیه مشخصه دانشجو در text boxپایینی نشان داده شود
با تشکر

Vahid_moghaddam
یک شنبه 29 فروردین 1389, 15:39 عصر
وقتی کد دانشجو را دارید، مشکلتون در پیدا کردن سایر اطلاعاتش و نمایش اونها چیه؟

ironman
یک شنبه 29 فروردین 1389, 15:45 عصر
برای این کار میتونید فیلد انتخاب شده در لیست باکس رو گرفته و اطلاعات مربوطه رو بازیابی کنید و به تکس باکس منتصب کنید....


نکته: در صورت امکان برای تاپیک هنوان مناسبی انتخاب کنید تا توسط مدیران سایت حذف نشه

yosefi_hossein
یک شنبه 29 فروردین 1389, 15:52 عصر
سلام اول 1 جستجو بنویس تا مشخصات دانشجو رو بدست بیاره این کدش


SqlConnection con = new SqlConnection("connection string");
SqlCommand cmd = new SqlCommand("select * from نام جدول where id=شماره دانشجو ", con);
DataTable dt = new DataTable();
SqlDataAdapter da = new SqlDataAdapter(cmd);
da.Fill(dt);
cmd.ExecuteNonQuery();

بعدش با کد زیر مقدار رو هرجا خواستی بریز مثلا من میخوام مقدار نام رو به یک text box بدم

txtname.text=dt.rows["name"];

samira3
دوشنبه 30 فروردین 1389, 10:23 صبح
سلام
از کد کخ داداین بسیار متشکرم
ولی من کد شما را زدم
SqlConnection con = new SqlConnection(ConfigurationManager.ConnectionStrin gs["ConnectionString"].ToString());
SqlCommand cmd = new SqlCommand(" select * from ApplicantProfile where ApplacantName='"+ DropDownList1.Text+ "' ", con);
DataTable dt = new DataTable();
SqlDataAdapter da = new SqlDataAdapter(cmd);
da.Fill(dt);
cmd.Connection.Open();
TextBox2.Text = dt.Rows[1];
cmd.ExecuteNonQuery();

از خط TextBox2.Text = dt.Rows[1]; خطا می گیره
مشکل در dt است اگه میشه یکم در موردش dtتوضیح بدین

باتشکر

Mostafa_Dindar
دوشنبه 30 فروردین 1389, 11:20 صبح
سلام
من میخوام وقتی listboxباز کردم ویکی ازش انتخاب کردم بقیه txtboxخود به خود پر شه مثلا اگر کد دانشجوی 111111درlistboxانتخاب شد بقیه مشخصه دانشجو در text boxپایینی نشان داده شود
با تشکر

سلام ،

شما بايد نحوه استفاده از يك فرم Master Details رو فرا بگيريد ، وقتي اين رو فرا گرفتيد به مدلهاي متفاوتي ميتونيد اين كار رو انجام دهيد ..


ميتونيد در اين مورد جستجو كنيد ، ولي در اين صفحه (http://quickstarts.asp.net/QuickStartv20/aspnet/doc/data/databases.aspx#masterdetails) انتهاي اون قست
Master-Details and the DetailsView Control


به شما در درك اون كمك خواهد كرد .

موفق باشيد

samira3
دوشنبه 30 فروردین 1389, 12:00 عصر
منظور من توضیح کامل نیست فقط کار datatabel بگید بقیه خطها رو می فهمم وفچر کنم کارش مثلdatasetاست ارتباط
من منتظر هستم
وچرا خط آخر خطا می گیره
من یک بار این کار کردم ولی نمی دانم مشکل در کجا است که این خط خطا می گیره
من منتظر هستم


مرسی ازجواب شما دوستان

Vahid_moghaddam
دوشنبه 30 فروردین 1389, 12:29 عصر
به این شکل بنویسید



TextBox2.Text = dt.Rows[1][0].ToString();

samira3
دوشنبه 30 فروردین 1389, 15:21 عصر
بسیار از همراهیتان متشکرم
مشکل زمان رفتن به اجرا حل شد ولی مشکل در خود اجرا پیش می آید وقتی list boxمی کنم خطا می گیرد


خطاش :There is no row at position 1.

داخل propertiesرفتم rowsمقدار دادم ولی نشد درست

Vahid_moghaddam
دوشنبه 30 فروردین 1389, 16:17 عصر
ببینید dt چند تا row داره. اینطوری:


dt.Rows.count
به احتمال بسیار زیاد، dt هیچ سطری نداره یا کمتر از index مشخص شده سطر داره

index برای شمارش سطر ها از 0 شروع می شه یعنی اگه dt دارای 1 سطر باشه باید بنویسید


dt.Rows[0]

exlord
دوشنبه 30 فروردین 1389, 17:37 عصر
string s = dt.Rows[0]["Name"].ToString();
string a = dt.Rows[0]["Last_Name"].ToString();

samira3
سه شنبه 31 فروردین 1389, 14:41 عصر
بابا این اصلا جواب نمی ده یکی به من کمک کنه من الان 3 روزه کارم همین اگه میشه یکی برنامه بزاره که توش این باشه

من کد عوض کردم بجای datatabelازdatareaderاستفاده کردم اینم کدش :
SqlConnection con = new SqlConnection(ConfigurationManager.ConnectionStrin gs["ConnectionString"].ToString());
SqlCommand cmd = new SqlCommand(" select * from viewspace where DomainName='" + DropDownList1.Text + "' ", con);
con.Open();
SqlDataReader dr=cmd.ExecuteReader();
TextBox2.Text = dr.GetValue(1).ToString();

ولی باز خطا داره اون هم خط آخر مشکل کجاست؟:عصبانی++::گریه:
من منتظر هستم

Vahid_moghaddam
سه شنبه 31 فروردین 1389, 15:50 عصر
باید اینطوری عمل کنید



SqlDataReader dr = cmd.ExecuteReader();
if (dr.HasRows)
{
dr.Read();
string s = dr.GetValue(1).ToString();
}


مطمئن بشید دستور شما اطلاعت رو بر می گردونه یا نه. اصلا توی دیتابیس مقداری با توجه به شرط شما هست؟
لطفا کدی رو که براتون می ذارن با دقت استفاده کنید. و هیچ ضرری نداره اگه مستندات دستوراتی رو که به کار می برید توی msdn مطالعه کنید.

samira3
یک شنبه 05 اردیبهشت 1389, 16:09 عصر
با تشکر فراوان
من موفق شدم
یه نکته هم من اضافه کنم باید توییpropertis ،
DropDownList1گزینه autopostback =true
با تشکر فراوان از شما دوستان