导航
  • 主页
  • .NET Framework
  • ASP
  • Web Services
  • VB
  • 图表区
  • 分析与设计
  • 组件/控件开发
  • LINQ
  • VC
  • 问答

!!!!!为什么,这究竟是为什么?DataTable之莫名之问!!!!!!!!!!!!!!!!!

CDEFGAB 2006-11-30 09:25:55
DataTable myda = new DataTable();
DataColumn dcName = myda.Columns.Add("xm");
dcName.DataType = Type.GetType("System.String");

dcName = myda.Columns.Add("ygid");
dcName.DataType = Type.GetType("System.String");

this.ViewState["table"] = myda;
DataRow dr = myda.NewRow();
dr[0] = lbl_ygid.Text.ToString();
dr[1] = lbl_name.Text.ToString();

myda.Rows.Add(dr);

this.GridView1.DataSource = myda;
this.GridView1.DataBind();

为什么,永远只能在GRIDVIEW中显示一条记录,我想看到记录的累加,唉,
拜托各位了
...全文
290 点赞 收藏 17
写回复
17 条回复
切换为时间正序
请发表友善的回复…
发表回复
CDEFGAB 2006-11-30
rickjelly2004(快乐生活) ( ) 信誉:99 Blog

运行您了的代码,好像不太对
回复
commonmj 2006-11-30
楼主现在的代码?增加记录并绑定的部分.
回复
www_datasky_cn 2006-11-30
this.GridView1.DataSource = myda;
你这个myda是不是就读取了数据库中最新的一条记录呢?
回复
rickjelly2004 2006-11-30
if(Session["savetable"]==null)
{DataTable myda = new DataTable();
}
else
{DataTable myda = (DataTable)Session["savetable"];
}
DataColumn dcName = myda.Columns.Add("xm");
dcName.DataType = Type.GetType("System.String");

dcName = myda.Columns.Add("ygid");
dcName.DataType = Type.GetType("System.String");

this.ViewState["table"] = myda;
DataRow dr = myda.NewRow();
dr[0] = lbl_ygid.Text.ToString();
dr[1] = lbl_name.Text.ToString();

myda.Rows.Add(dr);
Session["savetable"]=myda;
this.GridView1.DataSource = myda;
this.GridView1.DataBind();
回复
rickjelly2004 2006-11-30
DataTable myda = new DataTable();

因为你的table 市临时创建的
你每次创建的table 要用session保存
回复
CDEFGAB 2006-11-30
commonmj(我是楼主马甲)

重新绑定过的,

this.GridView1.DataSource = dt;

this.GridView1.DataBind();
回复
commonmj 2006-11-30
要重新绑定到GridView啊, 这是页面, 不是winform, 没有状态的, 不能后台数据源的改变直接就反应到前台.
回复
CDEFGAB 2006-11-30
还是不行啊
datatable本来是空的,
在页面上控制新增记录,
每加一条就应该有累加啊
但是现在永远只显示最新的记录,这是为什么呢
回复
mincunbao 2006-11-30
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
bind();
}
}
protected void Button2_Click(object sender, EventArgs e)
{
if (IsValid)
{

DataTable dt = (DataTable)ViewState["table"];
DataRow dr = dt.NewRow();
dr["xm"] = this.lbl_ygid.Text.ToString();
dr["ygid"] = this.lbl_name.Text.ToString();
dt.Rows.Add(dr);
this.GridView1.DataSource = dt;
this.DataBind();

}
}
public void bind()
{
DataTable myda = new DataTable();
DataColumn dcName = myda.Columns.Add("xm");
dcName.DataType = System.Type.GetType("System.String");
dcName = myda.Columns.Add("ygid");
dcName.DataType = System.Type.GetType("System.String");
ViewState["table"] = myda;
}
回复
CDEFGAB 2006-11-30
zmj122112() ( ) 信誉:100 Blog

大哥,重复100条啊,没意义的,呵呵
每次向datatable 中加入一行,应该在datatable中有多行的吧,
我想将这个多行不同的记录展现出来,谢谢了

回复
CDEFGAB 2006-11-30
有没有办法让ROW不断增加吗?而不是每次只有一条记录
回复
zmj122112 2006-11-30
for(int i=0;i<100;i++)
{
DataRow dr = myda.NewRow();
dr[0] = lbl_ygid.Text.ToString();
dr[1] = lbl_name.Text.ToString();

myda.Rows.Add(dr);
}
这样你能看到100条了
回复
jijl2001 2006-11-30
你就一条记录,你想显示几条
回复
CDEFGAB 2006-11-30
rickjelly2004(快乐生活) ( ) 信誉:99 Blog

上面的错误同样是只能显示最新的一条,
拜托大哥给一些代码,谢谢了。
回复
rickjelly2004 2006-11-30
myda.acceptChanges()
最好也加上

上面什么错误?

可能那个Session("")
回复
bluery 2006-11-30
zmj122112() ( ) 信誉:100 Blog 2006-11-30 09:37:58 得分: 0


for(int i=0;i<100;i++)
{
DataRow dr = myda.NewRow();
dr[0] = lbl_ygid.Text.ToString();
dr[1] = lbl_name.Text.ToString();

myda.Rows.Add(dr);
}
这样你能看到100条了


--------------------------------------------
强人常见,但没见过这么强的...
回复
CDEFGAB 2006-11-30
up
回复
发动态
发帖子
.NET技术社区
创建于2007-09-28

5.8w+

社区成员

.NET技术交流专区
申请成为版主
社区公告
暂无公告