!!!!!为什么,这究竟是为什么?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中显示一条记录,我想看到记录的累加,唉,
拜托各位了
...全文
330 17 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
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

62,243

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧