图片路径用逗号或者分号隔开存放在数据库里,显示的时候在datagrid中只显示其中一个,然后点图片进入到第二个页面,查看更多的图片。楼主是这个想法吗?

解决方案 »

  1.   

    建议换个控件 DataList 更容易实现!
      

  2.   

    恩,DataList   可以实现的
      

  3.   

    谢谢楼上众多朋友帮我解决问题,我是新手,希望大家能把程序列出来,谢谢合作..
    一:kbryant  发表于:2008-01-12 18:12:355楼 得分:0 
    恩,DataList       可以实现的 请问怎么用程序实现出来?二:pt1314917 发表于: 图片路径用逗号或者分号隔开存放在数据库里,显示的时候在datagrid中只显示其中一个,然后点图片进入到第二个页面,查看更多的图片。楼主是这个想法吗? 请问图片路径用逗号或者分号隔开怎样存放在数据库里?
    显示的时候在datagrid中只显示其中一个,然后点图片进入到第二个页面,查看更多的图片。是的,点击进入查看更多的图片时,会有6张或者9张小图,当用户点击6张或者9张图片中某一张图片时,另外的页面是祥细的图片展示 
    三:这是存放数据库这个strimage字段中例如:../imgae/003.jpg,:../imgae/004.jpg,:../imgae/005.jpg等等图片路径,
    图片和图片之间用分号隔开,然后过滤,选择第一个
    请问怎么做呢?能否用程序加实例列出来,谢谢
      

  4.   

    "图片路径用逗号或者分号隔开存放在数据库里"
    Insus.NET想,这种方法来实现,也许是最糟的一种方法吧.
    一个用户多张图片,即按照数据库设计规范,是一对多的关系,应该设计为两张表为好,一是用户表,二是图片表.
    多时,修改编辑或是删除,都好处理.
    你这个问题,应该不是很难的问题,才对.
      

  5.   

    强烈同意 “insus”的做法。。
      

  6.   

    insus 的话让我恍然大悟。。以后希望您能多指教。。
    我叫JACKCONG ..入行快一年了。。
      

  7.   

    insus 
    Insus.NET 
    等 级:
     发表于:2008-01-14 10:00:1412楼 得分:0 
    "图片路径用逗号或者分号隔开存放在数据库里" 
    Insus.NET想,这种方法来实现,也许是最糟的一种方法吧. 
    一个用户多张图片,即按照数据库设计规范,是一对多的关系,应该设计为两张表为好,一是用户表,二是图片表. 
    多时,修改编辑或是删除,都好处理. 
    你这个问题,应该不是很难的问题,才对. 
     我是新手..请多多指教..你的意思是说:新建两个表,然后采取是一对多,可我不知用程序实现?
      

  8.   

    这是前台的代码
    <%@ Page Language="vb" AutoEventWireup="false" Codebehind="dzj.aspx.vb" Inherits="a.dzj" %>
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
    <HTML>
    <HEAD>
    <title>Vs_User_update</title>
    <meta content="Microsoft Visual Studio .NET 7.1" name="GENERATOR">
    <meta content="Visual Basic .NET 7.1" name="CODE_LANGUAGE">
    <meta content="JavaScript" name="vs_defaultClientScript">
    <LINK href="../Style.css" type="text/css" rel="stylesheet">
    <meta content="http://schemas.microsoft.com/intellisense/ie5" name="vs_targetSchema">
    </HEAD>
    <body>
    <form id="Form1" method="post" runat="server">
    <FONT face="宋体">
    <H3>图片样本:</H3>
    <asp:textbox id="TxtUser" runat="server" Visible="False" Width="260px" BorderStyle="Groove" ReadOnly="True"
    BackColor="#FFC0FF"></asp:textbox>
    <TABLE class="table" id="Table1" cellSpacing="1" cellPadding="5" width="600" border="0">
    <TR class="tdtr">
    <TD colSpan="2"><FONT face="宋体"> </FONT><FONT face="宋体">
    <asp:DataGrid id="MyDataGrid" runat="server" Width="272px" Height="350px" PageSize="1" AllowPaging="True">
    <Columns>
    <asp:TemplateColumn>
    <ItemTemplate>
    <asp:Image id="Image1" runat="server" Width="600px" ImageUrl='<% #DataBinder.Eval(Container,"DataItem.hydzj") %>'>
    </asp:Image>
    </ItemTemplate>
    </asp:TemplateColumn>
    </Columns>
    <PagerStyle Mode="NumericPages"></PagerStyle>
    </asp:DataGrid>
    </FONT>
    </TD>
    </TR>
    </TABLE>
    </FONT>
    <asp:LinkButton id="btnFirst" onclick="PagerButtonClick" runat="server" CommandArgument="0">最首页</asp:LinkButton><FONT face="宋体">&nbsp;</FONT>
    <asp:LinkButton id="btnPrev" onclick="PagerButtonClick" runat="server" CommandArgument="prev">前一页</asp:LinkButton><FONT face="宋体">&nbsp;</FONT>
    <asp:LinkButton id="btnNext" onclick="PagerButtonClick" runat="server" CommandArgument="next">下一页</asp:LinkButton><FONT face="宋体">&nbsp;</FONT>
    <asp:LinkButton id="btnLast" onclick="PagerButtonClick" runat="server" CommandArgument="last">最后页</asp:LinkButton></form>
    </body>
    </HTML>
      

  9.   

    Imports System.Data.SqlClient
    Imports System.Data
    Imports System.Web.UIPublic Class dzj
        Inherits System.Web.UI.Page#Region " Web 窗体设计器生成的代码 "    '该调用是 Web 窗体设计器所必需的。
        <System.Diagnostics.DebuggerStepThrough()> Private Sub InitializeComponent()    End Sub
        Protected WithEvents MyDataGrid As System.Web.UI.WebControls.DataGrid
        Protected WithEvents btnFirst As System.Web.UI.WebControls.LinkButton
        Protected WithEvents btnPrev As System.Web.UI.WebControls.LinkButton
        Protected WithEvents btnNext As System.Web.UI.WebControls.LinkButton
        Protected WithEvents btnLast As System.Web.UI.WebControls.LinkButton
        Protected WithEvents TxtUser As System.Web.UI.WebControls.TextBox    '注意: 以下占位符声明是 Web 窗体设计器所必需的。
        '不要删除或移动它。
        Private designerPlaceholderDeclaration As System.Object    Private Sub Page_Init(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Init
            'CODEGEN: 此方法调用是 Web 窗体设计器所必需的
            '不要使用代码编辑器修改它。
            InitializeComponent()
        End Sub#End Region    Private Sub Page_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load        If Not IsPostBack Then            Dim strTemp As String
                strTemp = Request("us_use")            If strTemp = "" Then
                    TxtUser.Text = Session("Log_user")
                Else
                    TxtUser.Text = strTemp
                End If        End If        Dim sql As String = "select hydzj from dbinduser where  us_use='" & TxtUser.Text & "'"
            Dim dataset1 As New DataSet
            dataset1 = New DataSet("dataset1")        Dim ConnectionString As String
            ConnectionString = "Server=127.0.0.1.;Database=aa;User Id=sa;Password=1234;"        Dim sqlconnection1 As New SqlClient.SqlConnection(ConnectionString)
            Dim sqlDataAdapter1 As New SqlClient.SqlDataAdapter(sql, sqlconnection1)
            sqlDataAdapter1.Fill(dataset1, "dbIndUser")
            sqlDataAdapter1 = Nothing        MyDataGrid.DataSource = dataset1
            MyDataGrid.DataBind()
            sqlconnection1.Close()
            sqlconnection1 = Nothing    End Sub    Sub MyDataGrid_Page(ByVal sender As Object, ByVal e As DataGridPageChangedEventArgs)
            Dim startIndex As Integer
            MyDataGrid.CurrentPageIndex = 0
            startIndex = MyDataGrid.CurrentPageIndex * MyDataGrid.PageSize
            MyDataGrid.CurrentPageIndex = e.NewPageIndex
            MyDataGrid.DataBind()
        End Sub
        Sub PagerButtonClick(ByVal sender As Object, ByVal e As EventArgs)        Dim arg As String = sender.CommandArgument        Select Case arg
                Case "next"
                    If (MyDataGrid.CurrentPageIndex < (MyDataGrid.PageCount - 1)) Then
                        MyDataGrid.CurrentPageIndex = 1
                    End If
                Case "prev"
                    If (MyDataGrid.CurrentPageIndex > 0) Then
                        MyDataGrid.CurrentPageIndex -= 1
                    End If
                Case "last"
                    MyDataGrid.CurrentPageIndex = (MyDataGrid.PageCount - 1)
                Case Else
                    'page number
                    MyDataGrid.CurrentPageIndex = System.Convert.ToInt32(arg)
            End Select
            MyDataGrid.DataBind()    End Sub
    End Class
      

  10.   

    Vb不太会,如果是C#的话还可以。
      

  11.   

    http://labs.developerfusion.co.uk/convert/csharp-to-vb.aspx这是专门转换的网站..
    你可以打开看看..
      

  12.   

    原创DataGrid分页:http://www.winmag.com.cn/forum/itemdisplay.asp?boardid=26&id=401355
      

  13.   

    你现在有什么想法吗?看了上面各位高手的意见?各位大虾给你的意见就是:
    1:改造数据库;//可以接受么?
    2:用DataList;//可以接受么?
    我个人感觉:
    1:如果你的页面想显示一个人的信息,而这个人可以有多张图片的话,搂住可以将这个图片将要显示的位置写上:相关图片,然后将这个相关图片加上连接,点击之后,去查询这个人的图片,如果再点图片,再显示详细图片。如果是这种思路的话,那么改造数据库就会使这个步骤非常容易。
    2:如果根据上步来做的话,DataList,不会吗?非常容易。
      

  14.   

    改造数据库也可以,可是一个用户多张图片,即按照数据库设计规范,是一对多的关系,应该设计为两张表为好,一是用户表,二是图片表. 代码如何实现呢?需不需要用DataList?
      

  15.   

    显示图片的话,用DataList还是比较容易的,而且能一行放多个,应该看起来比较美观的。
      

  16.   

    其实,其他的也一样,可能效果不如DataList好。
      

  17.   

    有DataList这方面的例子就好了
      

  18.   

    自己定义一个xml的结构,把路径放在xml中,把xml放在数据库字段中.
    显示简单不多说,
    用按钮分页和图片分页是一样的.