PDA

View Full Version : نمایش در Gridview



ar_monti@
یک شنبه 21 مهر 1387, 20:18 عصر
سلام دوستان
من میخواهم فقط یکسری داده از تکست باکس بگیرم و آنها را در گرید ویو سطربه سطر اضافه کنم و نمیخواهم آنها را داخل دیتا بیس بریزم فقط میخواهم در گرید ویو نمایش دهم تا بعدا به داده ها در سطرهای گریدویو دسترسی داشته باشم و از آنها استفاده کنم چطوری این کار را انجام دهم.
ممنون

kezack
یک شنبه 21 مهر 1387, 22:23 عصر
نمی دونم ولی اگه نمی خوای توی دیتابیس ذخیره کنی می خوای کجا این کارو کنی که با refresh شدن صفحه اطلاعات از دست نره؟!!

r_mehrizi
دوشنبه 22 مهر 1387, 10:00 صبح
برای اینکه داخل database ذخیره نشه از viewstate باید استفاده کنید


Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load

If Not IsPostBack The
Set_tmpdt()
End If

End Sub




Private Sub Set_tmpdt()
Dim tmpdt As Oghaf.tbl_userDataTable = New Oghaf.tbl_userDataTable
ViewState.Add("tmpdt", tmpdt)
End Sub
Private Sub Set_tmpdt()
Dim tmpdt As Oghaf.tbl_userDataTable = New Oghaf.tbl_userDataTable
ViewState.Add("tmpdt", tmpdt)
End Sub




Private Sub Bind_Grid()
'andis = 0
Dim dt As New Oghaf.tbl_userDataTable
dt = ViewState("tmpdt")
Me.GridView1.DataSource = dt.DefaultView
Me.GridView1.DataBind()
End Sub




Private Sub Insert_dt()
Dim dr As Oghaf.tbl_userRow
Dim dt As New Oghaf.tbl_userDataTable
dt = ViewState("tmpdt")
dr = dt.NewRow()
dr.Item("u_name") = Me.txtho_name.Text.Trim
dr.Item("u_family") = Me.txtho_family.Text.Trim
dr.Item("u_melicode") = Me.txtho_codemeli.Text.Trim
dr.Item("u_mobile") = Me.txtho_mobile.Text.Trim()
dt.Rows.Add(dr)
ViewState("tmpdt") = dt
End Sub




#Region "gridview"
Protected Sub GridView1_RowDeleting(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.GridViewDeleteEventArgs) Handles GridView1.RowDeleting
Dim chkRemove As WebControls.CheckBox
Dim strIDs As String = ""
Dim boolCheck As Boolean = False
Dim cls As New UserBLL
Dim dt As New Oghaf.tbl_userDataTable
dt = ViewState("tmpdt")
Dim a As Integer = dt.Rows.Count
For Each gvRow As GridViewRow In GridView1.Rows
chkRemove = DirectCast(gvRow.FindControl("ChkRemove"), WebControls.CheckBox)
If chkRemove.Checked Then
boolCheck = True
If gvRow.RowIndex = a - 1 Then
dt.Rows(0).Delete()
Else
dt.Rows(gvRow.RowIndex).Delete()
End If
End If
Next
If boolCheck = True Then
ViewState("tmpdt") = dt
Bind_Grid()
End If
End Sub
Protected Sub GridView1_RowCreated(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.GridViewRowEventArgs) Handles GridView1.RowCreated
If e.Row.RowType = DataControlRowType.DataRow Then
e.Row.Cells(0).Text = ((e.Row.RowIndex + 1) + (GridView1.PageSize * GridView1.PageIndex)).ToString
End If
End Sub

Protected Sub GridView1_PageIndexChanging(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.GridViewPageEventArgs) Handles GridView1.PageIndexChanging
Me.GridView1.PageIndex = e.NewPageIndex
Bind_Grid()
End Sub
#End Region

kezack
دوشنبه 22 مهر 1387, 10:18 صبح
خوب ایا این اطلاعات از بین نمیره؟؟!!!
فرضا با بستن صفحه؟

r_mehrizi
دوشنبه 22 مهر 1387, 10:55 صبح
استفاده از viewstate به این دلیل خوبه که شما قبل از اینکه اطلاعات را وارد دیتابیس کنید بر روی سطرهای گرید ویو عملیات حذف و ویرایش را می تونید انجام بدید بعد از اینکه کاربر از صخت اطلاعات مطمئن شد بر روی دکمه ادامه کلیک می کند که اطلاعات در دیتابیس ذخیره میشه
برای کدنویسی قسمتی که بر روی دکمه ادامه کلیک میشه این جوری باید نوشت مثلا


Dim dto As Oghaf.tbl_userDataTable = New Oghaf.tbl_userDataTable
dto = ViewState("tmpdt")

سپس dto را به پایگاهداده اضافه کرد

kezack
دوشنبه 22 مهر 1387, 11:52 صبح
ممنون از اطلاعات خوبتون خیلی مفید بود

ar_monti@
چهارشنبه 24 مهر 1387, 15:48 عصر
ممنون از تمامی جوابها
من تونستم با ایجاد یک Datatable در حافظه این کار را انجام بدم و هر وقت که صفحه ام باز شد با وارد کردن اطلاعات به DataTable و بایند کردن آن به گرید کارم انجام شد و حتی ادیت ، حذف و آپدیت برروی گرید را هم انجام دادم.

jaza_sa
چهارشنبه 24 مهر 1387, 17:36 عصر
ممنون از تمامی جوابها
من تونستم با ایجاد یک Datatable در حافظه این کار را انجام بدم و هر وقت که صفحه ام باز شد با وارد کردن اطلاعات به DataTable و بایند کردن آن به گرید کارم انجام شد و حتی ادیت ، حذف و آپدیت برروی گرید را هم انجام دادم.
اگر اطلاعاتی که میخواید ذخیره کنید کمه ، بهتره همونطوری که دوست خوبمون جناب tarhebartar (http://barnamenevis.org/forum/member.php?u=56432) اشاره کردند از یک فایل xml استفاده کنید
علت :
سرعت زیاد
کم هزینه
راحت

samira_aban_2009
جمعه 02 بهمن 1388, 14:08 عصر
ممنون از تمامی جوابها
من تونستم با ایجاد یک Datatable در حافظه این کار را انجام بدم و هر وقت که صفحه ام باز شد با وارد کردن اطلاعات به DataTable و بایند کردن آن به گرید کارم انجام شد و حتی ادیت ، حذف و آپدیت برروی گرید را هم انجام دادم.
لطفا نحوه ی انجام کار را بگید

hajizahiry
شنبه 08 اسفند 1388, 16:30 عصر
دوست عزیز آیا منظورت اضافه کردن رکوردهای گروهی به database است ؟؟؟