关于gridview问题,希望能帮我,谢谢大家!
前台页面中GRIDVIEW是如下,
<asp:GridView ID= "gvcsdj " runat= "server " AutoGenerateColumns= "False " EmptyDataText= "没有符合条件的信息 " Width= "700px ">
<Columns>
<asp:BoundField DataField= "bh " HeaderText= "胎婴儿编号 " />
<asp:BoundField />
<asp:BoundField DataField= "fq_xm " HeaderText= "父亲姓名 " />
<asp:BoundField DataField= "mq_xm " HeaderText= "母亲姓名 " />
<asp:BoundField DataField= "et_csrq " HeaderText= "出生日期 " />
<asp:BoundField DataField= "et_csdd " HeaderText= "出生地点 " />
<asp:ButtonField Text= "删除 " />
</Columns>
</asp:GridView>
后台想实现功能是:
点击"增加",我不想直接把数据插入数据库,而是想写如内存,同时要把数据在gridview中显示,显示在gridview的数据可以修改,删除,
我把现在代码贴出来,大家看看有什么问题哈~!
后台代码:
DataSet ds = new DataSet();
DataTable dt = ds.Tables[0];
DataRow dr = dt.NewRow();
dr[ "bh "]= "dfdfdf "; //暂时先添入这些数据
dr[ "fq_xm "] = "dfdfdf ";
dr[ "mq_xm "] = "dfdfdf ";
dr[ "et_csrq "] = "dfdfdf ";
dr[ "et_csdd "] = "dfdfdf ";
dt.Rows.Add(dr);
gvcsdj.DataSource = dt;
gvcsdj.DataBind();
希望你们指点指点哈,最好能给我详细代码,十分感激~!!
[解决办法]
//先清空缓存
private void ClearCache()
{
if (Cache[ "ds "] != null)
{
Cache.Remove( "ds ");
}
}
//创建缓存
private void CreateCache()
{
ds=...;
Cache.Insert( "ds ", ds);
}
//更新缓存
private void UpdateCache()
{
DataTable dt = ((DataSet)Cache[ "ds "]).Tables[0]
DataRow dr= dt.NewRow();
dr[ "row "] = "xxx ";
dt.Rows.Add(dr);
DataSet ds=new DataSet();
ds.Tables.Add(dt);
Cache[ "ds "]= ds;
}
//大概是这样的思想,要注意使用Cache,很容易有问题的~~:)
[解决办法]
这个当然要连接数据库啊~~要不gridview怎么找得到表结构呢
[解决办法]
不用连接数据库,先用datatable里的值填充到gridview,动态创建表结构
protected void DgrdBb_RowCreated(object sender,GridViewRowEventArgs e)
[解决办法]
System.IndexOutOfRangeException: 无法找到表 0--------------你创建失败当然无法找到