日期:2014-05-17  浏览次数:20405 次

菜鸟问个问题 非数据库的数据怎么填充GridView
我有 3个文本框 
想 点击 添加 按钮 填充到GridView中去  
怎么做啊 高手指点~~

------解决方案--------------------
当然可以,你可以在内存中建个datatable
------解决方案--------------------
private DataTable Dt
{
 get{return ViewState["dt"]==null?InitNewTable():(DataTable)ViewState["dt"];}
 set{ViewState["dt"]=value;}
}
protected void Page_Load(object sender,EventArgs e)
{
if(!Page.isPostBack)
{
this.Dt=InitNewTable();
}
else
{
BindData();
}
}
DataTable InitNewTable()
{
DataTable dt=new DataTable();
dt.Columns.Add("Col1",typeof(string));
dt.Columns.Add("Col2",typeof(string));
dt.Columns.Add("Col3",typeof(string));
return dt;
}
void BindData()
{
if(this.Dt.Rows.Count>0)
{
gv.DataSource=this.Dt;
gv.DataBind();
}
}
protected void btn_Click(object sender,EventArgs e)
{
 // validate
 //...
 DataRow dr=this.Dt.NewRow();
 dr["Col1"]=txtBox1.Text;
 dr["Col2"]=txtBox2.Text;
 ...
 this.Dt.Rows.Add(dr); 
}
------解决方案--------------------
凡是实现了IList接口的对象都可以当作数据源
可以自己构建一个ArrayList或者DataTable, DataSet当作数据源
------解决方案--------------------
建议用数组, 楼上的方法不错
------解决方案--------------------
适用ViewState 储存 DataTable 然后添加数据 就可以了
------解决方案--------------------
探讨
private DataTable Dt
{
get{return ViewState["dt"]==null?InitNewTable():(DataTable)ViewState["dt"];}
set{ViewState["dt"]=value;}
}
protected void Page_Load(object sender,EventArgs e)
{
if(!Page.isPostBack)
{
this.Dt=InitNewTable();
}
else
{
BindData();
}
}
DataTable InitNewTable()
{
DataTable dt=new DataTable();
dt.Columns.Add("Col1…