一个页面里能否同时显示2个DATAGRID

来源:互联网 发布:mac svn客户端 version 编辑:程序博客网 时间:2024/04/30 20:09

一个页面里能否同时显示2个DATAGRID,能就给个完整的例子?

肯定能啊
,相同数据集,不同都可以
string sql="select 1 as t1,'小猫' as t2 from dual";
   DataBase Base=new DataBase();//数据操作类,自己写的方法
   DataSet ds=new DataSet();
   string ErrMess;
   bool srt=Base.ExecuteSql(sql,out ds,out ErrMess);
   if(srt)
   {
    DataGrid1.DataSource = ds;//邦定同一个数据集
    DataGrid1.DataBind();
    DataGrid2.DataSource = ds;//邦定同一个数据集
    DataGrid2.DataBind();
   }
------------------------------
成功的例子

aspx:

<ASP:DataGrid id="MyList"
.
.
DataKeyField="question_id">
<Columns>

<asp:BoundColumn ItemStyle-Width="20%" HeaderText="发言人" DataField="restore_name">
<HeaderStyle Wrap="False" HorizontalAlign="Left" VerticalAlign="Middle"/>
<ItemStyle Wrap="False" HorizontalAlign="Left" VerticalAlign="Top"/>
</asp:BoundColumn>

<asp:templatecolumn ItemStyle-Width="70%" ItemStyle-Height="100" HeaderText="发言內容">
<itemtemplate>
<table width="100%" height="100"><tr><td align=left valign=top>
<%# SubStr(DataBinder.Eval(Container.DataItem,"restore_content").ToString())%>
</td></tr></table>
</itemtemplate>
</asp:templatecolumn>

</Columns>
</asp:DataGrid>

<ASP:DataGrid id="MyList2"
.
.
DataKeyField="restore_id">
<Columns>

<asp:BoundColumn ItemStyle-Width="20%" HeaderText="回複人" DataField="restore_name"/>
<asp:BoundColumn ItemStyle-Width="10%" HeaderText="回複時間" DataField="restore_date" DataFormatString="{0:yyyy-MM-dd}"/>

</Columns>
</asp:DataGrid>

cs:

        DataView CreateDataSource()
        {
                string nowDSN=ConfigurationSettings.AppSettings["appeal"];
  SqlConnection myConnection=new SqlConnection(nowDSN);
  SqlDataAdapter myCommand2=new SqlDataAdapter("SELECT * FROM appeal_restore WHERE question_id='"+Request.Params["question_id"]+"'", myConnection);
    DataSet ds2 = new DataSet();
    myCommand2.Fill(ds2, "appeal_restore");
    if (ds2.Tables["appeal_restore"].Rows.Count > 0)
    {
    dr2 = ds2.Tables["appeal_restore"].Rows[0];
    }
                return ds2.Tables["appeal_restore"].DefaultView;
                myConnection.Close();
    DataBind();
  }

        DataView CreateDataSource2()
        {
                string nowDSN=ConfigurationSettings.AppSettings["appeal"];
  SqlConnection myConnection=new SqlConnection(nowDSN);
  SqlDataAdapter myCommand3=new SqlDataAdapter("SELECT * FROM appeal_question WHERE question_id='"+Request.Params["question_id"]+"'", myConnection);
    DataSet ds3 = new DataSet();
    myCommand3.Fill(ds3, "appeal_question");
    if (ds3.Tables["appeal_question"].Rows.Count > 0)
    {
    dr3 = ds3.Tables["appeal_question"].Rows[0];
    }
                return ds3.Tables["appeal_question"].DefaultView;
                myConnection.Close();
    DataBind();
  }

 void DataBind()
        {
                DataView source=CreateDataSource();
  DataView source2=CreateDataSource2();
                if(!IsPostBack)
                { 
                }
                MyList.DataSource = source;
                MyList.DataBind();
    
  MyList2.DataSource = source2;
                MyList2.DataBind();
 }