datalist显示多少数据来自己你绑定的数据源,假设数据源有十条数据,绑定到datalist后默认就会显示十条数据。你也可以对datalist进行设置编辑,决定显示那几个字段的数据或对datalist进行分页设置,比如控制每页只显示5条数据,多余的数据做为第二页显示。参考一下MSDN,查一下datalist控件说明相信会对你有帮助的。
你是想说类似点击分页刷新数据吗?如果只是说用datalist来绑定跟所传参数相关的数据时,可以这样
方法一:刷新本页(整个页面),那么在page_load()事件中绑定数据,传参至本页就行
方法二:局部刷新datalist,用框架<frameset><frame></frame></frameset>来套用方法一中的页面,传参触发指向这个页面就行
因为不知道你什么语言编程,所以不给出具体代码了,大概思路是这样。另外绑定数据(page_load()事件中写的)大概步骤就是1根据传过来的参数写t_sql查询语句;2建立连接数据库的通道;3用前二者实例化执行对象(command);4读取数据并保存到表或实体集中;5把4中的数据交给datalist的datasource;6datalist执行bingdata()来绑定数据集
很好
using System;
using SystemData;
using SystemConfiguration;
using SystemWeb;
using SystemWebSecurity;
using SystemWebUI;
using SystemWebUIWebControls;
using SystemWebUIWebControlsWebParts;
using SystemWebUIHtmlControls;
public partial class _Default : SystemWebUIPage
{
DBHelper db = new DBHelper();
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
pagesize();
//DBHelper db = new DBHelper();
//GridView1DataSource = dbGetAllBook();
//GridView1DataBind();
}
}
protected void Button1_Click(object sender, EventArgs e)
{
DBHelper db = new DBHelper();
GridView1DataSource = dbGetBook(intParse(TextBox1Text));
GridView1DataBind();
}
protected void GridView1_PageIndexChanging(object sender, GridViewPageEventArgs e)
{
DBHelper db = new DBHelper();
GridView1PageIndex = eNewPageIndex;//把新获得索引设置为当前页的索引
GridView1DataSource = dbGetAllBook();
GridView1DataBind();
}
public void pagesize()
{
PagedDataSource page = new PagedDataSource();//封装数据,绑定控件
pageDataSource = dbGetAllBook()Tables[0]DefaultView;//指定数据源,而datasource这个控件不能直接来绑定数据而只能绑定视图
pageAllowPaging = true;//是否启动分页
pagePageSize = 5;//行数
pageCurrentPageIndex = intParse(thislbl_pagecurentText)-1;//设定或获取当前页的索引
lbl_countText =pagePageCountToString();//获取显示数据源中的所有项所需要的总页数
int pagecurent = intParse(thislbl_pagecurentText);//定义一个变量来获取当前第几页(lbl_pagecurent)
GridView1DataSource = page;//前后两句都是用来绑定数据源的
GridView1DataBind();
//lbl_pagecurent当前第几页 lbl_count总共第几页
//LinkButton1首页 btn_prev上一页 btn_next下一页
//LinkButton4末页 TextBox2 跳转到第几页
if (pagecurent==1)
{
btn_prevEnabled = false;
}
else
{
btn_prevEnabled = true;
}
if (pagecurent==pagePageCount)
{
btn_nextEnabled = false;
}
else
{
btn_nextEnabled = true;
}
}
protected void btn_prev_Click(object sender, EventArgs e)
{
int i = intParse(thislbl_pagecurentText) - 1;
thislbl_pagecurentText = iToString();
pagesize();
}
protected void btn_next_Click(object sender, EventArgs e)
{
int i = intParse(thislbl_pagecurentText) + 1;
thislbl_pagecurentText = iToString();
pagesize();
}
protected void LinkButton1_Click(object sender, EventArgs e)
{
lbl_pagecurentText = "1";
pagesize();
}
protected void LinkButton4_Click(object sender, EventArgs e)
{
lbl_pagecurentText = thislbl_countText;
pagesize();
}
protected void Button3_Click(object sender, EventArgs e)
{
thislbl_pagecurentText = thisTextBox2Text;
pagesize();
这是分页的整个源代码,有的括号掉了,你自己去看一下吧
这个是会显示不出,前台的换成如下就好了 <asp:DataList ID="dt1" runat="server" RepeatColumns="4" RepeatDirection="Vertical">
<ItemTemplate>
<table>
<tr>
<td style="width: 215px; height: 150px">
<img src="<%# Eval("IMG") %>" Width="140px" />
</td>
</tr>
<tr>
<td style="width: 215px; height: 30px">
<%# Eval("P_Name") %>
</td>
</tr>
</table>
</ItemTemplate>
</asp:DataList>
分类: 电脑/网络 >> 程序设计 >> 其他编程语言
问题描述:
我用ADODC读取了一个表的ID和NAME两个值
我想在DATACOMBO中只显示NAME值
但选择后只需要取NAME对应的ID值,而不要NAME值
例如
读取了:
ID NAME
1 ABC
2 DEF
3 GHI
我的DATACOMBO显示:
ABC
DEF
GHI
在选择ABC之后只需要返回那个1而不要ABC
或者在选择DEF之后只需要2而不要DEF
怎么实现?
解析:
使用数据绑定控件DataCombo和DataList
徐晓峰
在Visual Basic 6.0中有一组数据绑定控件,可以用于快速方便地建立数据编辑的界面。我们介绍一下DataCombo和DataList这两个数据绑定控件。这两个控件与标准的ComboBox和ListBox的外表、行为都非常相似,且这两个控件彼此也很相似。它们的区别是:DataCombo中可以选择和输入数据,而DataList只能用于数据的选择。由于两者的相似性,我们在下面的例子中以DataCombo为主。
在一个典型的应用中,我们经常需要使用对某一对象的编号。例如,VB6.0提供的Biblio数据库在一个叫做“Publishers”的表中存放着各出版公司的名称。这个表有很多字段,包括地址、城市、邮码、电话等,其中有两个基本字段Name和PubID字段。Name字段存放出版商的名称,而PubID字段是对每个出版商的编码。
Biblio数据库中另一个表为“Titles”,包含的信息有标题、出版年份、国际标准书号ISBN等。在这些字段中有一个字段的名称就是“PubID”。这个字段的名称与Publishers表中的相应字段的名称相同,因为这个字段代表了一本出版物的出版商。
这是在数据库开发中常用的一个对对象进行编码的方法,但是由此也带来了一个问题:用户在数据库应用程序中输入和编辑数据时,必须用某种方法输入标识出版商的数字编号。DataCombo和DataList控件就可以轻松地解决这个问题。
在这个应用中,我们使用了一个DataCombo控件dbcPublisher。我们希望的结果是:在dbcPublisher中看到的是所有出版商的名字,然后可以在这个控件中选择一个出版商,而这个控件可以自动将这个出版商的编码PubID(不是显示的名字)输入到Titles表的PubID字段中。这儿涉及了两个结果集,一个是出版商的编码和名字rsPublisher,另一个是和Titles相对应的结果集rsTitles。样本代码如下:
Dim rsPublisher As NewADODB.Recordset
Dim rsTitles As New ADODB.Recordset
Dim sSQL As String
sSQL=〃Select PubID,Name from Publishers〃
rsPublisher.Open sSQL,,adOpenStatic,adLockReadOnly
sSQL=〃Select Title,PubID,ISBN from Titles〃
rsTitles.Open sSQL,,adOpenStatic,adLockOptimistic
With dbcPublisher
Set.RowSource=rsPublisher
.ListField=〃Name〃
.BoundColumn=〃PubID〃
Set.DataSource=rsTitles
.DataField=〃PubID〃
EndWith
从这个例子中,我们可以看到dbcPublisher所显示的内容来自于rsPublisher的Name字段,由RowSource属性和ListField属性指定;而用户使用中如果选定了某个出版商,则自动将对应的rsPublisher的PubID字段的值去修改目的结果集,这个字段由BoundColumn属性指定;目的结果集和被修改的字段是rsTitles的PubID字段,由DataSource属性和DataField属性指定。另外还有一个属性是BoundText,它的值是BoundColumn指定的字段的值。
DataCombo和DataList控件的使用方法是很简单的,便于快速的应用开发。关于这两个控件的其他详细信息,可以参考MSDN Library中的详细说明。
你的这个问题未必是后台数据data没返回;
你可以在返回成功里加个判断;
success:function(data){
if(data==null)
{
alert("not get message!");
}
else
{
alert(data);
}
}
如果接收成功则可以解析;用eval表达式或者JSONparse(data)方法都可以,重要的是你是个多条数据,要循环获取:
var obj[]=eval("("+data+")");
for(var i=0;i<objlength;i++)
{
dataListappend("<tr><td align='right'>areaId</td><td>"+obj[i]areaId+"</td></tr>");
}
如果这一部也没错,就是你追加的地方有错,那就自己慢慢调HTML吧!
以上就是关于datalist 显示数据(急,在线等)全部的内容,包括:datalist 显示数据(急,在线等)、asp.net datalist 怎么通过参数传递来显示数据(最简单的方法)、ASP.NET问题,datalist设置了分页,想要导出全部数据,需要怎么做呢等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)