PDA

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



bernadet730
سه شنبه 19 فروردین 1382, 10:12 صبح
با سلام به دوستان و تبریک سال نو
من می خواهم با ای اس پی فرمی درست کنم که اولا در ان کومبو باکس ها از جدول اکسس پر شوند و دوما محتوای باکس دومی با توجه به انتخابی که در اولی صورت گرفته نمایش داده شود.
لطفا کمک کنید.

mahmoodreza
پنج شنبه 28 فروردین 1382, 04:24 صبح
چه کمکی میخوای
یعنی یه همچین کدی را کامل میخوای یا سوال دار در موردش ؟

bernadet730
دوشنبه 15 اردیبهشت 1382, 14:34 عصر
سوال من اینکه وقتب باکس اول رو کاربر انتخاب کرد من چه طوری وسط کار انتخاب او را بگیرم و برای باکس دوم استفاده کنم در حالیکه هنوز فرم ساب میت نشده من چه طور مقدار یک فیلد را بخوانم؟

afsar
یک شنبه 08 شهریور 1383, 11:34 صبح
از خاصیت AutoPostBack استفاده کن

jannati
سه شنبه 10 شهریور 1383, 14:34 عصر
afsarجان میشه بیشتر توضیح بدید؟ :roll:

afsar
یک شنبه 15 شهریور 1383, 09:01 صبح
سلام
ببینید Dropdownlist یه خاصیت AutoPostBack اگه فعال بشه پس از هر تغییر در Dropdownlist به سرور فرستاده می شه که از اون به بعد هم دیگه کاری نداره
اگه می خواید به سرور نره خب باید Clientside کار کنی یعنی با جاوااسکریپت و ...
اینم با Clientside کارا در میون بذار
ولی خب اگه نخاید به سرور بره لااقل باید اون اطلاعاتی که قرار هست عوض بشه رو روی Client انتقال بدی که اگه زیاد باشه فکر نکنم مقرون به صرفه باشه

jannati
سه شنبه 24 شهریور 1383, 15:42 عصر
دوستان عزیز من 2تا dropdownدارم که میخوام وقتی در اولی اسم معاونت انتخاب میشه در دومی نام واحدها لود بشه.با کد زیر کار میکنم:


string name;
string sql;
string sql1="sa";
int code;
SqlConnection conn=new
SqlConnection ("data source=DSRV3;initial catalog=JANNATI;password=123456;persist security info=True;user id=jannati2;workstation id=JANATI;packet size=4096");
name=DropDownList1.SelectedItem.Text.ToString ();
//Response.Write (name);
sql="select * from a_moavenat where moavenat=N'" + name+ "'";
Response.Write (sql);
SqlCommand comm = new SqlCommand(sql, conn);
comm.Connection.Open();
SqlDataReader r =
comm.ExecuteReader(CommandBehavior.CloseConnection );
while(r.Read())
{
code=Convert.ToInt32 (r["code"]);
sql1="select * from a_vahed where code=" +code;
}

//VAHED
SqlDataAdapter adap3= new
SqlDataAdapter (sql1,conn);
DataSet ds3 =new DataSet ();
/*adap3.Fill(ds3,"a_vahed");
/*DropDownList2.DataSource=ds3;
DropDownList2.DataTextField ="v_name";
DropDownList2.DataBind ();*/

در ضمن خاصیت autopostbackرا برای اولی trueکرده ام.اما نمیدونم چرا قسمت داخل (/**/)در بالا یعنی جایی که دومی میخواد پر بشه کار نمیکنه.یعنی وقتی مارکش را برمیدارم در انتخاب اولی خطایpage can notمیده.شما میتونید بگید چرا؟ :cry:

Vahid_Nasiri
سه شنبه 24 شهریور 1383, 17:58 عصر
این کد شما چه مفهومی دارد؟ :متفکر:


while(r.Read())
{
code=Convert.ToInt32 (r["code"]);
sql1="select * from a_vahed where code=" +code;
}

این حلقه چیزی را برای شما اجرا نمی کند. یعنی دستور sql در آن فقط یک رشته است... نه بیشتر.

jannati
چهارشنبه 25 شهریور 1383, 07:52 صبح
آقای مهندس نصیری
ممنون از وقتی که گذاشتید
میدونم که sql1فقط یک رشته است و کاری انجام نمیده.من فقط خواستم اونجا (در حلقه read)مقدار codeرا به دست بیارم .در قسمت بعد میبینید که در یک dataadapterاین sql1را اجرا کرده ام.بعد هم به یک dropdownمتصل کرده ام.اما از خط adap3.Fill(ds3,"a_vahed")l: به بعد جواب نمیده. :roll: