大家帮忙看看这个主从表显示的程序怎么显示不出东西来呢?调试时也没报错!我完全按FORUM里的实例写的呀,哪里不对呢?private void Page_Load(object sender, System.EventArgs e)
{
if(!IsPostBack)
{
SqlConnection con=DBcon.CreateConnection();
con.Open();
SqlDataAdapter da=new SqlDataAdapter();
DataSet ds=new DataSet();
da.SelectCommand=new SqlCommand("select pro_name from a_cata; select
pro_b_name from b_cata where a_cata.pro_id=b_cata.pro_id",con);
da.Fill(ds); ds.Tables[0].TableName = "a_cata";
ds.Tables[1].TableName = "b_cata";
DataColumn Parent =ds.Tables["a_cata"].Columns["pro_id"];
DataColumn Child = ds.Tables["b_cata"].Columns["pro_id"];
DataRelation myrl = new DataRelation("myrl", Parent, Child, false);
ds.Relations.Add(myrl);
//进行数据绑定
this.DataGrid1.DataSource = ds.Tables["a_cata"].DefaultView;
this.DataGrid1.DataBind();HTML page<asp:DataGrid id="DataGrid1" style="Z-INDEX: 101; LEFT: 48px; POSITION:
absolute; TOP: 64px" runat="server"
AutoGenerateColumns="False" ShowHeader="False" Width="368px">
<Columns>
<asp:TemplateColumn>
<ItemTemplate>
<TABLE cellSpacing="0" cellPadding="0" width="100%" border="0">
<TR>
<TD bgColor="#3399ff"><FONT color="#ffffff"><B>
<%# DataBinder.Eval(Container.DataItem, "pro_name") %>
</B></FONT>
</TD>
</TR>
<TR>
<TD align="right">
<asp:DataGrid id=dgDetail runat="server"
AutoGenerateColumns="False" DataSource='<%#
((System.Data.DataRowView)Container.DataItem).CreateChildView("myrl")
%>' DataKeyField="OrderID" BorderColor="#336666" BorderStyle="Double"
BorderWidth="3px" BackColor="White" CellPadding="4"
GridLines="Horizontal" Width="100%" Font-Size="Smaller">
<SelectedItemStyle Font-Bold="True" ForeColor="White"
BackColor="#339966"></SelectedItemStyle>
<ItemStyle ForeColor="#333333" BackColor="White"></ItemStyle>
<HeaderStyle Font-Bold="True" ForeColor="White"
BackColor="#336666"></HeaderStyle>
<FooterStyle ForeColor="#333333"
BackColor="White"></FooterStyle>
<Columns>
<asp:BoundColumn Visible="False" DataField="OrderID"
ReadOnly="True"></asp:BoundColumn>
<asp:TemplateColumn HeaderText="">
<HeaderStyle Width="250px"></HeaderStyle>
<ItemTemplate>
<%# DataBinder.Eval(Container.DataItem, "pro_b_name") %>
</ItemTemplate>
</asp:TemplateColumn> </Columns>
<PagerStyle HorizontalAlign="Center" ForeColor="White"
BackColor="#336666" Mode="NumericPages"></PagerStyle>
</asp:DataGrid></TD>
</TR>
</TABLE>
</ItemTemplate>
</asp:TemplateColumn>
</Columns>
</asp:DataGrid>
{
if(!IsPostBack)
{
SqlConnection con=DBcon.CreateConnection();
con.Open();
SqlDataAdapter da=new SqlDataAdapter();
DataSet ds=new DataSet();
da.SelectCommand=new SqlCommand("select pro_name from a_cata; select
pro_b_name from b_cata where a_cata.pro_id=b_cata.pro_id",con);
da.Fill(ds); ds.Tables[0].TableName = "a_cata";
ds.Tables[1].TableName = "b_cata";
DataColumn Parent =ds.Tables["a_cata"].Columns["pro_id"];
DataColumn Child = ds.Tables["b_cata"].Columns["pro_id"];
DataRelation myrl = new DataRelation("myrl", Parent, Child, false);
ds.Relations.Add(myrl);
//进行数据绑定
this.DataGrid1.DataSource = ds.Tables["a_cata"].DefaultView;
this.DataGrid1.DataBind();HTML page<asp:DataGrid id="DataGrid1" style="Z-INDEX: 101; LEFT: 48px; POSITION:
absolute; TOP: 64px" runat="server"
AutoGenerateColumns="False" ShowHeader="False" Width="368px">
<Columns>
<asp:TemplateColumn>
<ItemTemplate>
<TABLE cellSpacing="0" cellPadding="0" width="100%" border="0">
<TR>
<TD bgColor="#3399ff"><FONT color="#ffffff"><B>
<%# DataBinder.Eval(Container.DataItem, "pro_name") %>
</B></FONT>
</TD>
</TR>
<TR>
<TD align="right">
<asp:DataGrid id=dgDetail runat="server"
AutoGenerateColumns="False" DataSource='<%#
((System.Data.DataRowView)Container.DataItem).CreateChildView("myrl")
%>' DataKeyField="OrderID" BorderColor="#336666" BorderStyle="Double"
BorderWidth="3px" BackColor="White" CellPadding="4"
GridLines="Horizontal" Width="100%" Font-Size="Smaller">
<SelectedItemStyle Font-Bold="True" ForeColor="White"
BackColor="#339966"></SelectedItemStyle>
<ItemStyle ForeColor="#333333" BackColor="White"></ItemStyle>
<HeaderStyle Font-Bold="True" ForeColor="White"
BackColor="#336666"></HeaderStyle>
<FooterStyle ForeColor="#333333"
BackColor="White"></FooterStyle>
<Columns>
<asp:BoundColumn Visible="False" DataField="OrderID"
ReadOnly="True"></asp:BoundColumn>
<asp:TemplateColumn HeaderText="">
<HeaderStyle Width="250px"></HeaderStyle>
<ItemTemplate>
<%# DataBinder.Eval(Container.DataItem, "pro_b_name") %>
</ItemTemplate>
</asp:TemplateColumn> </Columns>
<PagerStyle HorizontalAlign="Center" ForeColor="White"
BackColor="#336666" Mode="NumericPages"></PagerStyle>
</asp:DataGrid></TD>
</TR>
</TABLE>
</ItemTemplate>
</asp:TemplateColumn>
</Columns>
</asp:DataGrid>
解决方案 »
- js的this是指的当前对象
- 各位大侠,我用aspxgrid1.5中用newrow进行添加一行,我怎么访问添加一行的控件呀
- GridView添加列问题!顶者有分
- 静态页面缓存问题,高手帮忙分析下原因
- [求助]十万火急!!!如何让div不显示
- 求一字符串替换的函数
- 救命那!关于treeview。在我的机器可以用,为什么有个别人访问就提示tree.htc脚本找不到 ?!
- ×××需要一个实时播放控件,可以播放pcm,adu,wav等格式的流文件×××
- 如何对Web安装项目进行加密或者混淆啊?
- 一个启用进程运行bat文件调用winrar解压文件导致Session值消失的问题
- 求救!!哥哥姐姐请指点在ASP.NET中设置回车事件代码的问题?????
- ID, value,Instance 三个字段 ,如果我想用ID 或者Value 找到 Instance ,使用什么结构最好呢?
{
System.Web.UI.Control crtl=e.Item.FindControl("lab");
if(crtl!=null)
{
if(crtl is System.Web.UI.WebControls.LinkButton)
{
if(((System.Web.UI.WebControls.LinkButton)crtl).Text=="+")
{
if(e.CommandName=="lab")
{
DataGrid Dg_Child = (DataGrid) e.Item.FindControl("Dg_Child");
string ID_LC =e.Item.Cells[1].Text.Trim();
Dg_Child.DataSource = YDINFO.Base_Material.GetDateList_RepSum(" and br.ID_LC_Material='"+ID_LC+"'"+this._search+"");
Dg_Child.DataBind();
Dg_Child.Visible=true;
((System.Web.UI.WebControls.LinkButton)crtl).Text="-";
}
}
else
{
DataGrid Dg_Child = (DataGrid) e.Item.FindControl("Dg_Child");
Dg_Child.Visible=false;
Dg_Child.Dispose();
((System.Web.UI.WebControls.LinkButton)crtl).Text="+";
}
}
}