PDA

View Full Version : ویرایش و انتخاب خودکار آیتم اول dropdownlist



eshaghi
دوشنبه 29 آبان 1385, 12:04 عصر
با عرض سلام:
من یک فرم ویرایش ساخته ام .وقتی وارد این صفحه می شویم فیلدهای رکورد مورد نظر در تکس باکس مر بوط به خودش ریخته میشود .یکی از فیلدها را باdropdown بایندمیکنم.مشکل اینجاست که وقتی من این فیلد را انتخاب نمیکنم ومی خواهم مقدار فیلد مورد نظر تغیر نکند آیتم اول dropdown به طور خودکار انتخاب می شود ومقدار آن جایگزین می شود.باتشکر

صابر
دوشنبه 29 آبان 1385, 18:50 عصر
سلام،
کدی که نوشتین رو اینجا بذارین.

eshaghi
سه شنبه 30 آبان 1385, 09:05 صبح
Private Sub Page_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
If Not IsPostBack Then
idd.Text = Request.QueryString("m")
sqlcon1 = New SqlConnection("database=shoot; server=localhost;user id=sa;password=;")
sqlcon1.Open()
st = "select * from picture where id=@id"
com = New SqlCommand(st, sqlcon1)
com.Parameters.Add("@id", idd.Text)
dr = com.ExecuteReader
dr.Read()
name.Text = dr("name")
detail.Text = dr("detail")
dr.Close()
sqlcon1.Close()
'###########

sqlcon1.Open()
str1 = "select distinct group1 from picture"
com1 = New SqlCommand(str1, sqlcon1)
dr1 = com1.ExecuteReader
group1.DataSource = dr1
group1.DataTextField = "group1"
group1.DataBind()
dr1.Close()
sqlcon1.Close()
'""""""""""""""
End If
End Sub

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click


st = "update picture set name=@name,detail=@detail,group1=@group1 where id=@idd"
sqlcon1 = New SqlConnection("database=shoot; server=localhost;user id=sa;password=;")
sqlcon1.Open()
Dim com As New SqlCommand(st, sqlcon1)
com.CommandType = CommandType.Text
com.Parameters.Add("@name", name.Text)
com.Parameters.Add("@detail", detail.Text)
com.Parameters.Add("@group1", group1.selectitem.text)
com.Parameters.Add("@idd", idd.Text)
com.ExecuteNonQuery()
sqlcon1.Close()



End Sub

صابر
چهارشنبه 01 آذر 1385, 00:06 صبح
'###########

sqlcon1.Open()
str1 = "select distinct group1 from picture"
com1 = New SqlCommand(str1, sqlcon1)
dr1 = com1.ExecuteReader
group1.DataSource = dr1
group1.DataTextField = "group1"
group1.DataValueField="esme fielde value dar database"
group1.Text=dr1("esme fielde value dar database")
group1.DataBind()

dr1.Close()
sqlcon1.Close()
'""""""""""""""

eshaghi
چهارشنبه 01 آذر 1385, 11:17 صبح
با عرض سلام:
برنامه به دستورgroup1.text=dr("group")
خطا میدهد اما با حذف این دستور صحیح بایند می شود
در این ویرایش دو حالت وجود دارد
1-من بخواهم که مقدار فیلدgroup را تغیر دهم که یک مقدار از لیست انتخاب می کنم و ویرایش به طور صحیح انجام می شود
2-من نمی خواهم مقدار این فیلد را ویرایش کنم .در این لیست چندین آیتم وجود دارد .
مثلا مقدار فیلد در بانک lisence است که اینجا اولین مقدار لیست که diplom است به طور خود کار انتخاب می شود ودر بانک جایگزین مقدار قبلی می شود
و مشکل من در مورد دوم است
با تشکر از راهنمایی شما

صابر
چهارشنبه 01 آذر 1385, 14:02 عصر
سلام مجدد،
ببینید. وقتی که شما با این دستورات:

name.Text = dr("name")
detail.Text = dr("detail")
مقادیر تکست باکسها رو ست می کنید. باید مقدار کامبوباکس رو هم ست کنید!
شما کامبوباکس رو پر کردین، این درست، اما باید بهش بگین که کدوم آیتم رو نشون بده.
پس باید Text کامبوباکس رو ست کنید.
من VB نصب ندارم. اما این رو با سی شارپ تست کردم و جواب می ده:

drpAsnaf.Text = dsAsnaf.Tables[0].Rows[0]["SenfID"].ToString();

لطفاً بنویسید که چه خطایی می دهد...