papa_fal
شنبه 21 مرداد 1385, 17:37 عصر
سلام به دوستان
من قبلاً در سایت جستجو کردم.ولی مشکله من کمی متفاوت از بقیه است.
من در فرم خود از 2 تا drop down list استفاده کرده ام.که هر 2 از از پایگاه داده ای از اس کیو ال البته هر کدام از جدولی فیلدها یی را میخوانند.
در یک لیست [اسامیه استادها]و در لیست دیگر [اسامیه دروس ]میباشد.که با انتخاب [استاد مربوطه]و [درس مربوطه] و سپس فشار دادن دکمه [ثبت]:ان درس خاص برای ان استاد خاص ثبت میشود .
مشکل این جاست که وقتی که صفحه لود میشود.تمامه ایتم ها در 2 لیست دیده میشود.
و وقتی که صفحه load میشود از هر دو لیست ایتم های اول آنها دیده میشود.
مثلاً آقای [کریمی] و [ درس پروژه]اگر نخواهیم که ایتم دیگر لیست را انتخاب کنیم.و همان جا فقط بخواهیم که ایتم های اول هر لیست را به هم مربوط کنیم.و دگمه ثبت را فشار دهیم.لیستی که حاوی [اسامیه دروس] است در پایگاه داده ثبت نمیشود .البته ان هم فقط موقعی که در لود اولیه صفحه بدون تغییر بماند.و همان ایتم اولیه را از این لیست را که بطوره پیش فرض انتخاب شده را در نظر میگیریم
این هم کدی که نوشتم:
private void Page_Load(object sender, System.EventArgs e)
{
if(!Page.IsPostBack)
{
SqlConnection con4=new SqlConnection();
con4.ConnectionString="workstation id=P;packet size=4096;integrated security=SSPI;data source=P;persist security info=False;initial catalog=project";
SqlCommand com4=new SqlCommand();
com4.Connection=con4;
com4.CommandText="SELECT magta+' '+gerayesh+' '+pro_name as temp,project_code from project";
con4.Open();
SqlDataReader dtr1 = com4.ExecuteReader();
mydrop1.DataSource = dtr1;
mydrop1.DataTextField = "temp";
mydrop1.DataValueField = "project_code";
mydrop1.DataBind();
dtr1.Close();
con4.Close();
//
SqlConnection con3=new SqlConnection();
con3.ConnectionString="workstation id=P;packet size=4096;integrated security=SSPI;data source=P;persist security info=False;initial catalog=project";
SqlCommand com3=new SqlCommand();
com3.Connection=con3;
com3.CommandText="SELECT prof_name+' '+prof_family as temp,prof_code from professor";
con3.Open();
SqlDataReader dtr = com3.ExecuteReader();
mydrop.DataSource = dtr;
mydrop.DataTextField = "temp";
mydrop.DataValueField = "prof_code";
mydrop.DataBind();
//
dtr.Close();
con3.Close();
}
}
private void save_btn_Click(object sender, System.EventArgs e)
{ string master_capacity =capacity_txt.Text;
SqlConnection con2=new SqlConnection();
con2.ConnectionString="workstation id=P;packet size=4096;integrated security=SSPI;data source=P;persist security info=False;initial catalog=project";
SqlCommand Com=new SqlCommand("INSERT INTO professor_project(prof_capacity,prof_code,project_ code)Values(@prof_capacity,@prof_code,@project_cod e)",con2);
Com.Parameters.Add("@prof_code",TextBox1.Text );
Com.Parameters.Add ("@prof_capacity",master_capacity);
Com.Parameters.Add ("@project_code",TextBox3.Text );
con2.Open();
Com.ExecuteNonQuery();
con2.Close();
//TextBox3.Text=proj_code;
TextBox2.Text=master_capacity;
//TextBox1.Text=profe_code;
}
private void mydrop1_SelectedIndexChanged(object sender, System.EventArgs e)
{
proj_code=mydrop1.SelectedValue.ToString();
TextBox3.Text=proj_code;
}
private void mydrop_SelectedIndexChanged(object sender, System.EventArgs e)
{
profe_code=mydrop.SelectedValue.ToString();
TextBox1.Text=profe_code;
}
من قبلاً در سایت جستجو کردم.ولی مشکله من کمی متفاوت از بقیه است.
من در فرم خود از 2 تا drop down list استفاده کرده ام.که هر 2 از از پایگاه داده ای از اس کیو ال البته هر کدام از جدولی فیلدها یی را میخوانند.
در یک لیست [اسامیه استادها]و در لیست دیگر [اسامیه دروس ]میباشد.که با انتخاب [استاد مربوطه]و [درس مربوطه] و سپس فشار دادن دکمه [ثبت]:ان درس خاص برای ان استاد خاص ثبت میشود .
مشکل این جاست که وقتی که صفحه لود میشود.تمامه ایتم ها در 2 لیست دیده میشود.
و وقتی که صفحه load میشود از هر دو لیست ایتم های اول آنها دیده میشود.
مثلاً آقای [کریمی] و [ درس پروژه]اگر نخواهیم که ایتم دیگر لیست را انتخاب کنیم.و همان جا فقط بخواهیم که ایتم های اول هر لیست را به هم مربوط کنیم.و دگمه ثبت را فشار دهیم.لیستی که حاوی [اسامیه دروس] است در پایگاه داده ثبت نمیشود .البته ان هم فقط موقعی که در لود اولیه صفحه بدون تغییر بماند.و همان ایتم اولیه را از این لیست را که بطوره پیش فرض انتخاب شده را در نظر میگیریم
این هم کدی که نوشتم:
private void Page_Load(object sender, System.EventArgs e)
{
if(!Page.IsPostBack)
{
SqlConnection con4=new SqlConnection();
con4.ConnectionString="workstation id=P;packet size=4096;integrated security=SSPI;data source=P;persist security info=False;initial catalog=project";
SqlCommand com4=new SqlCommand();
com4.Connection=con4;
com4.CommandText="SELECT magta+' '+gerayesh+' '+pro_name as temp,project_code from project";
con4.Open();
SqlDataReader dtr1 = com4.ExecuteReader();
mydrop1.DataSource = dtr1;
mydrop1.DataTextField = "temp";
mydrop1.DataValueField = "project_code";
mydrop1.DataBind();
dtr1.Close();
con4.Close();
//
SqlConnection con3=new SqlConnection();
con3.ConnectionString="workstation id=P;packet size=4096;integrated security=SSPI;data source=P;persist security info=False;initial catalog=project";
SqlCommand com3=new SqlCommand();
com3.Connection=con3;
com3.CommandText="SELECT prof_name+' '+prof_family as temp,prof_code from professor";
con3.Open();
SqlDataReader dtr = com3.ExecuteReader();
mydrop.DataSource = dtr;
mydrop.DataTextField = "temp";
mydrop.DataValueField = "prof_code";
mydrop.DataBind();
//
dtr.Close();
con3.Close();
}
}
private void save_btn_Click(object sender, System.EventArgs e)
{ string master_capacity =capacity_txt.Text;
SqlConnection con2=new SqlConnection();
con2.ConnectionString="workstation id=P;packet size=4096;integrated security=SSPI;data source=P;persist security info=False;initial catalog=project";
SqlCommand Com=new SqlCommand("INSERT INTO professor_project(prof_capacity,prof_code,project_ code)Values(@prof_capacity,@prof_code,@project_cod e)",con2);
Com.Parameters.Add("@prof_code",TextBox1.Text );
Com.Parameters.Add ("@prof_capacity",master_capacity);
Com.Parameters.Add ("@project_code",TextBox3.Text );
con2.Open();
Com.ExecuteNonQuery();
con2.Close();
//TextBox3.Text=proj_code;
TextBox2.Text=master_capacity;
//TextBox1.Text=profe_code;
}
private void mydrop1_SelectedIndexChanged(object sender, System.EventArgs e)
{
proj_code=mydrop1.SelectedValue.ToString();
TextBox3.Text=proj_code;
}
private void mydrop_SelectedIndexChanged(object sender, System.EventArgs e)
{
profe_code=mydrop.SelectedValue.ToString();
TextBox1.Text=profe_code;
}