PDA

View Full Version : سوال: دستکاری نتیجه Select از پایگاه و ریختن رکورد به رکورد در ListView



fa_karoon
چهارشنبه 25 فروردین 1389, 20:10 عصر
می خواهم نتیجه Select از یک جدول را در ListView بریزم اما می خواهم مانند قابلیت کد زیر


Do While myreader.Read
label1.text += "<a href=home.aspx> myreader(0).tostring</a>"

Loop

به فیلدهایم در هر رکورد دسترسی داشته باشم ومانند کد بالا پس از اعمال تغییراتی محتوای آن فیلد را و نهایتا رکورد را در ListView بریزم یعنی هر رکورد که خوانده شد تغییرات اعمال شود سپس در ListView ریخته شود امیدوارم منظورم را متوجه شده باشید خیلی حیاتی است
لطفا کمک

Himalaya
پنج شنبه 26 فروردین 1389, 01:46 صبح
خوب با همون sqldatareader اطلاعات رو که از پایگاه داده گرفتی سطر به سطر بخون و هرکاری دوست داشتی با مقادیرش انجام بده

fa_karoon
پنج شنبه 26 فروردین 1389, 12:07 عصر
خوب با همون sqldatareader اطلاعات رو که از پایگاه داده گرفتی سطر به سطر بخون و هرکاری دوست داشتی با مقادیرش انجام بده

آخه دوست عزیز اگه به همین راحتی بود من الان اینجا چه کار می کردم
چیزی رو که با SqlDataReader می خونیم به صورت String یا هر نوعی که توی پایگاه هست برگردونده می شه اینو چه جوری بعد بریزیم تو لیست ویو که خطا نده و نگه که این از نوع DataItem نیست ؟(منظورم هنگام استفاده از دستور ListView.Items.Add هست)
مشکل همین ریختن تو لیست ویو

fa_karoon
یک شنبه 29 فروردین 1389, 00:41 صبح
دوستان مشکلم حل شد راه حل رو اینجا می ذارم با تاکید بسیار این رو هم ذکر کنم که این کدها، کدهایی ست که مدیر سایت http://www.30sharp.com (http://www.30sharp.com/) با ایمیل info[at]30sharp[dot]com برام ارسال کرده و من کمی اونها رو تغییر داده ام
قسمت اول کدها در حالت Design هست


<asp:ListView ID="ListView3" runat="server">
<LayoutTemplate>
<table>
<asp:PlaceHolder ID="itemPlaceHolder" runat="server"></asp:PlaceHolder>
</table>
</LayoutTemplate>
<ItemTemplate>
<tr>
<td>
<asp:Label ID="lblName" Text='<%# Eval("Title") %>' runat="server"></asp:Label>
&nbsp; &nbsp;
<asp:Label ID="lblAge" Text='<%# Eval("Path") %>' runat="server"></asp:Label>

</td>
</tr>
</ItemTemplate>
</asp:ListView>
<asp:DataPager ID="DataPager1" runat="server" PagedControlID="ListView3"
PageSize="3">
<Fields>
<asp:NextPreviousPagerField FirstPageText="&lt;&lt;" ShowFirstPageButton="True" ShowNextPageButton="true"
ShowPreviousPageButton="true" />

<asp:NextPreviousPagerField LastPageText="&gt;&gt;" ShowLastPageButton="True" ShowNextPageButton="False"
ShowPreviousPageButton="False" />
</Fields>
</asp:DataPager>

و قسمت دوم که دستکاری فیلدهاست در قسمت Code_behind


Public Function GetDatasource() As DataSet
Dim ds As New DataSet()
Dim tb As New DataTable("tb")
Dim col As New DataColumn("Title", GetType(String))
tb.Columns.Add(col)
col = New DataColumn("Path", GetType(String))
tb.Columns.Add(col)
Dim row As DataRow = Nothing
Dim strcommand As String = "select * from Articles"
Dim com As New SqlCommand(strcommand, Application("con"))
Dim myreader As SqlDataReader
Application("con").open()
myreader = com.ExecuteReader

Do While myreader.Read
row = tb.NewRow()
row("Title") = myreader(2).ToString
row("Path") = "<a href=" & myreader(4).ToString & ">§ںëéي§</a>"
tb.Rows.Add(row)
Loop
Application("con").close()
ds.Tables.Add(tb)
Return ds
--------------------------------------------------------
End Function
Public Sub BindListView()
'bind to list view
ListView3.DataSource = GetDatasource()
ListView3.DataBind()
End Sub
------------------------------------------------------------------
Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
If Not IsPostBack Then
BindListView()
End If


End Sub
--------------------------------------------------------------------
Protected Sub DataPager1_PreRender(ByVal sender As Object, ByVal e As System.EventArgs) Handles DataPager1.PreRender
BindListView()
End Sub