PDA

View Full Version : مشکل کار با گرید ویو



hamed_abutorabi
سه شنبه 25 تیر 1387, 19:01 عصر
سلام
فرض کنید قراره یه سایت طراحی بشه که توی یه صفحه استاد نمره دانشجوهایی که لیست اسامی اونا اونجاست رو وارد کنه
چرا وقتی دکمه ثبت در پایین لیست کلیک میشه هیچی توی سطر های ستون نمره نیست ؟
من از gridview استفاده کردم و ستون نمره رو با استفاده از templatefield یه textbox گذاشتم
ولی نمیتونم نمره رو ذخیره کنم!!:متفکر:

touraj
سه شنبه 25 تیر 1387, 20:51 عصر
لااقل کدش رو میذاشتی. آخه به نظرت الان میشه نظری داد که چرا نمایش داده نمیشه؟

ALI TT
چهارشنبه 26 تیر 1387, 01:00 صبح
ولی نمیتونم نمره رو ذخیره کنم!!

از Update استفاده کنید


چرا وقتی دکمه ثبت در پایین لیست کلیک میشه هیچی توی سطر های ستون نمره نیست ؟

شما کدی که نوشتی به بانک اطلاعاتی رکورد اضافه میکنه یا به دیتا گرید ؟

hamed_abutorabi
چهارشنبه 26 تیر 1387, 09:18 صبح
صورت سوال اینه که یه gridview هست که چند تا ستون به شکل bounfield داره که این ستون ها نام و نام خوانوادگی وشماره دانشجویی هستن .یه ستون دیگه هست که از نوع templateField هست و توی قسمت itemTemplate همون فیلد نمره ها وارد میشن.پایین جدول یه button هست .تنها کدی که من برای اون button نوشتم اینه که برای تمام سطر های gridview اگه فیلد نمره که همون template field هست خالیه ، یه پیغام بده .همین
موقعی که برنامه اجرا میشه من به همه فیلد های نمره مقدار میدم و button رو کلیک میکنم .ولی برای همه سطر ها پیغام میده که مثلا"این سطر ستون نمره اش خالی است"
اگه لازم میدونین تا کد رو هم بنویسم ؟

Vahid_moghaddam
چهارشنبه 26 تیر 1387, 10:38 صبح
مقدار template field رو با چه روشی میخونید؟ اگه کد رویداد دکمه رو بذارید بهتر می شه در موردش نظر داد.

hamed_abutorabi
چهارشنبه 26 تیر 1387, 12:24 عصر
ستونهای grid view به ترتیب از راست به چپ : شماره -نام- فمیلی - نمره (همون template field)


ProtectedSub Page_Load(ByVal sender AsObject, ByVal e As System.EventArgs) HandlesMe.Load
connectionstring = Request.QueryString("connectionstring").ToString().Trim()
Label2.Text = Request.QueryString("user").Trim()
Label4.Text = Request.QueryString("code").Trim()
IfNot IsPostBack Then
Dim con As Data.SqlClient.SqlConnection
con = New Data.SqlClient.SqlConnection(connectionstring)
Dim cmd As Data.SqlClient.SqlCommand
cmd = New Data.SqlClient.SqlCommand("select * from currentterm,student where currentterm.teachingcode=@teachingcode and currentterm.studentId=student.id", con)
cmd.Parameters.AddWithValue("@teachingcode", Request.QueryString("code").ToString.Trim())
con.Open()
GridView1.DataSource = cmd.ExecuteReader()
GridView1.DataBind()
EndIf
EndSub




ProtectedSub Button1_Click1(ByVal sender AsObject, ByVal e As System.EventArgs)
Dim i AsInteger
For i = 0 To GridView1.Rows.Count - 1
If (GridView1.Rows(i).Cells(0).Text = String.Empty) Then
MsgBox(GridView1.Rows(i).Cells(0).Text + "OK")
EndIf
Next
EndSub

meysam_12001
پنج شنبه 27 تیر 1387, 13:17 عصر
توی TemplateField یک textbox قراربده (حتما قبلا گذاشتی)
بعد این کد رو به جای کد حلقه forی که خودت نوشتی قراربده :


For i = 0 To GridView1.Rows.Count - 1
If (CType(GridView1.Rows(i).FindControl("TextBox1"), TextBox).Text = String.Empty) Then
MsgBox(GridView1.Rows(i).Cells(0).Text + "OK")
EndIf
Next

hamed_abutorabi
پنج شنبه 27 تیر 1387, 23:30 عصر
سلام ممنون از راهنمایی شما همه چیز درست شد .الان کدی که استفاده می کنم اینه:



Protected Sub Button1_Click1(ByVal sender As Object, ByVal e As System.EventArgs)
Dim i As Integer
Dim t1 As TextBox
For i = 0 To GridView1.Rows.Count - 1
t1 = CType(GridView1.Rows(i).FindControl("TextBox1"), TextBox)
If t1.Text <> String.Empty Then
MsgBox(t1.Text + "OK")
End If
Next
End Sub