当前位置:编程学习 > C#/ASP.NET >>

控件 复制 克隆 赋值

在页面中我有一个 ID=GV 的 gridview 控件;
有这个一个方法:
public Gridview DatabindToGV()
{
    Gridview gv=new Gridview();
    gv=数据绑定(gv.datasort()和gv.databind()都执行了);
    return gv;
}
然后我在页面的load方法中加了以下代码
protected void Page_Load(object sender, EventArgs e)
{
    GV=DatabindToGV();  
}
但我发现这样子的话在页面中的GV控件是不会显示数据的(但我设了断点调试发现虽然GV是已经成功获得了return回来的数据,但GV就是不在页面中把这些数据给显示出来)
我有试过像下面这么写
protected void Page_Load(object sender, EventArgs e)
{
    GV=DatabindToGV();  
    GV.databind();//但还是不能显示数据
}
这可能跟我改变了GV这个对象有引用有关,对于这些页面显示机制的问题我现在真的不行呐...呜呜~~>_<~~
求助了... --------------------编程问答-------------------- if (Page.IsPostBack)
{
    ...
} --------------------编程问答--------------------
引用 1 楼 caozhy 的回复:
if (Page.IsPostBack)
{
  ...
}


一样的,都不行... --------------------编程问答-------------------- --------------------编程问答-------------------- 顶,继续求指导... --------------------编程问答--------------------   Gridview gv=new Gridview();
  gv=数据绑定(gv.datasort()和gv.databind()都执行了);
  return gv;

具体怎么写的?
GridView有datasort方法么?  --------------------编程问答-------------------- public Gridview DatabindToGV()

建议这个方法改成 返回一个数据源
eg: public DataTable DatabindToGV()
{
//..
}

然后
protected void Page_Load(object sender, EventArgs e)
{
  GV.DataSource = DatabindToGV();   
  GV.DataBind();
}
--------------------编程问答--------------------
引用 6 楼 peter200694013 的回复:
public Gridview DatabindToGV()

建议这个方法改成 返回一个数据源
eg: public DataTable DatabindToGV()
{
//..
}

然后
protected void Page_Load(object sender, EventArgs e)
{
  GV.DataSource = DatabindToGV();  
……


你的这种方法的确是可行的,只是我不明白为什么我自己的那种解决方法为什么行不通,可以给我解释一下么? --------------------编程问答-------------------- LZ的不显示。。

应该是new出一个新GV绑定上数据源。。。。

再用赋值的方式赋给你页面上的GV。。。

这种方式应该不会把数据源绑定的数据也赋过去

--------------------编程问答--------------------
引用 7 楼 laizhd 的回复:
引用 6 楼 peter200694013 的回复:
public Gridview DatabindToGV()

建议这个方法改成 返回一个数据源
eg: public DataTable DatabindToGV()
{
//..
}

然后
protected void Page_Load(object sender, EventArgs e)
{
GV.DataS……

在public Gridview DatabindToGV()中,new 了一个新的GridView,然后绑定数据,但是这个新的控件并没有添加到页面上,然后将这个方法的返回结果赋值给GV,虽然GV“指向”了这个GridView,但是因为没在页面上,所以没显示

--------------------编程问答--------------------
引用 9 楼 peter200694013 的回复:
引用 7 楼 laizhd 的回复:
引用 6 楼 peter200694013 的回复:
public Gridview DatabindToGV()

建议这个方法改成 返回一个数据源
eg: public DataTable DatabindToGV()
{
//..
}

然后
protected void Page_Load(object sender, Event……

这个我赞同,就是说原来GV是指向页面上的gridview,但现在我们改变了GV的引用,不再指向页面上的那个gridview,而是指向了new()的那个gridview,这样虽然GV能成功绑定到数据源,但它已经不能在页面上显示了...

不过我现在倒想了解一下有没有什么方法可以让页面显示GV数据呢,或者说如何用这个绑定了数据的新GV去替换掉页面上的那个gridvied来达到显示数据的效果? --------------------编程问答-------------------- 没人能告诉我么? 结贴?
补充:.NET技术 ,  ASP.NET
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,