我就想实现从数据库读取记录后显示在页面上,然后将这些记录滚动显示。当最后一行记录从屏幕上方滚出后,再次读取读取数据库,如此反复。
读取数据并显示我用gridview,滚屏我用js来实现。
但是我碰到的疑问是在“//此处填写代码”地方应该怎么写才能实现要嘛再次读取数据库,要嘛刷新页面呢?<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="_Default" %><html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
<title>滚动显示</title>
<script language="javascript" charset="gb2312" type="text/javascript">
var timer;
function startScroll(){
timer = setInterval("Scroll_ing()",10);
}
function stopScroll(){
clearInterval(timer);
}
function Scroll_ing(){
nowScroll=document.body.scrollTop+1 ;
window.scroll(0,nowScroll);
if(nowScroll!=document.body.scrollTop){
//此处填写代码
}
}
document.onmousedown=stopScroll;
document.ondblclick=startScroll;
</script>
</head>
<body bgcolor="#fef4d9" onload="startScroll()">
<form id="form1" runat="server">
<asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="False" DataKeyNames="id"
DataSourceID="AccessDataSource1" Width="438px" BackColor="LightGoldenrodYellow" BorderColor="Tan" BorderWidth="1px" CellPadding="2" ForeColor="Black" GridLines="None">
<Columns>
<asp:BoundField DataField="id" HeaderText="id" InsertVisible="False" ReadOnly="True"
SortExpression="id" />
<asp:BoundField DataField="worktime" HeaderText="worktime" SortExpression="worktime" />
<asp:BoundField DataField="didian" HeaderText="didian" SortExpression="didian" />
<asp:BoundField DataField="content" HeaderText="content" SortExpression="content" />
<asp:BoundField DataField="paigongzhe" HeaderText="paigongzhe" SortExpression="paigongzhe" />
</Columns>
<FooterStyle BackColor="Tan" />
<PagerStyle BackColor="PaleGoldenrod" ForeColor="DarkSlateBlue" HorizontalAlign="Center" />
<SelectedRowStyle BackColor="DarkSlateBlue" ForeColor="GhostWhite" />
<HeaderStyle BackColor="Tan" Font-Bold="True" />
<AlternatingRowStyle BackColor="PaleGoldenrod" />
</asp:GridView>
<asp:AccessDataSource ID="AccessDataSource1" runat="server" DataFile="~/App_Data/gonggao.mdb"
SelectCommand="SELECT * FROM [paigong]"></asp:AccessDataSource>
</form>
<div id="addHeight" style="height:1px;width:1px;font-size:1px;background:#red">
</div>
<script language="javascript" charset="gb2312" type="text/javascript">document.getElementById("addHeight").style.height=document.body.clientHeight</script>
</body>
</html>
读取数据并显示我用gridview,滚屏我用js来实现。
但是我碰到的疑问是在“//此处填写代码”地方应该怎么写才能实现要嘛再次读取数据库,要嘛刷新页面呢?<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="_Default" %><html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
<title>滚动显示</title>
<script language="javascript" charset="gb2312" type="text/javascript">
var timer;
function startScroll(){
timer = setInterval("Scroll_ing()",10);
}
function stopScroll(){
clearInterval(timer);
}
function Scroll_ing(){
nowScroll=document.body.scrollTop+1 ;
window.scroll(0,nowScroll);
if(nowScroll!=document.body.scrollTop){
//此处填写代码
}
}
document.onmousedown=stopScroll;
document.ondblclick=startScroll;
</script>
</head>
<body bgcolor="#fef4d9" onload="startScroll()">
<form id="form1" runat="server">
<asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="False" DataKeyNames="id"
DataSourceID="AccessDataSource1" Width="438px" BackColor="LightGoldenrodYellow" BorderColor="Tan" BorderWidth="1px" CellPadding="2" ForeColor="Black" GridLines="None">
<Columns>
<asp:BoundField DataField="id" HeaderText="id" InsertVisible="False" ReadOnly="True"
SortExpression="id" />
<asp:BoundField DataField="worktime" HeaderText="worktime" SortExpression="worktime" />
<asp:BoundField DataField="didian" HeaderText="didian" SortExpression="didian" />
<asp:BoundField DataField="content" HeaderText="content" SortExpression="content" />
<asp:BoundField DataField="paigongzhe" HeaderText="paigongzhe" SortExpression="paigongzhe" />
</Columns>
<FooterStyle BackColor="Tan" />
<PagerStyle BackColor="PaleGoldenrod" ForeColor="DarkSlateBlue" HorizontalAlign="Center" />
<SelectedRowStyle BackColor="DarkSlateBlue" ForeColor="GhostWhite" />
<HeaderStyle BackColor="Tan" Font-Bold="True" />
<AlternatingRowStyle BackColor="PaleGoldenrod" />
</asp:GridView>
<asp:AccessDataSource ID="AccessDataSource1" runat="server" DataFile="~/App_Data/gonggao.mdb"
SelectCommand="SELECT * FROM [paigong]"></asp:AccessDataSource>
</form>
<div id="addHeight" style="height:1px;width:1px;font-size:1px;background:#red">
</div>
<script language="javascript" charset="gb2312" type="text/javascript">document.getElementById("addHeight").style.height=document.body.clientHeight</script>
</body>
</html>
<marquee onmouseover="this.stop()" onmouseout="this.start()" scrollamount="2" scrolldelay="240"
direction="up" height="216">
<table class="body"
cellspacing="1" cellpadding="0" width="183" align="center"
bgcolor="#ffffff" border="0">
<tbody>
<tr>
<td valign="middle"
align="left" bgcolor="#ffffff"><p
class="style5 style26" align="left"><span
class="style27"></span><span class="a3">
<asp:DataGrid id="dg_HYDT" runat="server" CellSpacing="1" ShowHeader="False" GridLines="None" CellPadding="0" AutoGenerateColumns="False" AllowPaging="True" BorderStyle="None" BackColor="Transparent">
<FooterStyle BackColor="#99CCCC" ForeColor="#003399"></FooterStyle>
<SelectedItemStyle BackColor="#009999" ForeColor="#CCFF99" Font-Bold="True"></SelectedItemStyle>
<PagerStyle Mode="NumericPages" BackColor="#99CCCC" ForeColor="#003399" HorizontalAlign="Left" Visible="False"></PagerStyle>
<AlternatingItemStyle HorizontalAlign="Left" Font-Italic="False" Font-Strikeout="False" Font-Underline="False" Font-Overline="False" Font-Bold="False" VerticalAlign="Top"></AlternatingItemStyle>
<ItemStyle BackColor="Transparent" ForeColor="#003399" HorizontalAlign="Left" Font-Italic="False" Font-Strikeout="False" Font-Underline="False" Font-Overline="False" Font-Bold="False" VerticalAlign="Top"></ItemStyle>
<HeaderStyle BackColor="#003399" ForeColor="#CCCCFF" Font-Bold="True"></HeaderStyle>
<Columns>
<asp:TemplateColumn>
<ItemTemplate> * </ItemTemplate>
<HeaderStyle Width="10px"></HeaderStyle>
</asp:TemplateColumn>
<asp:TemplateColumn>
<ItemTemplate>
<asp:HyperLink runat="server" CssClass="a3" Text='<%# DataBinder.Eval(Container, "DataItem.m_title") %>' NavigateUrl='<%# DataBinder.Eval(Container, "DataItem.m_ID", "system_m/HYDT_m/HYDT_details.aspx?m_ID={0}") %>' Target="_blank"></asp:HyperLink>
</ItemTemplate>
</asp:TemplateColumn>
</Columns>
</asp:DataGrid>
</span></p></td>
</tr>
</tbody>
</table>
</marquee>数据绑定:
private void DataBindTodg_HYDT()
{
SqlConnection con = DB.createCon();
SqlDataAdapter sda = new SqlDataAdapter();
sda.SelectCommand = new SqlCommand("select *from HYDT order by m_date DESC", con);
DataSet ds = new DataSet();
sda.Fill(ds, "HYDT");
this.dg_HYDT.DataSource = ds.Tables["HYDT"];
this.dg_HYDT.DataBind();
}
protected void Page_Load(object sender, EventArgs e)
{
if (!this.IsPostBack)
{ this.DataBindTodg_HYDT();
}
}
整体思路就是datagrid读取数据库的内容,然后marque滚动显示,不知对你有没有帮助
if(nowScroll ==document.body.scrollTop){
//此处填写代码
var times = document.all("隐藏框1").Value;
if(times >= 你要滚的次数)
{
document.all("隐藏框2").Value = document.all("隐藏框2").Value+1;
document.all("隐藏框1").Value = 0;
}
else
{
document.all("隐藏框1").Value = times+1;
}
}