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

求助:DataList控件嵌套GridView控件

说明:运行页面,选择Datalist控件中的“选择”,用GridView控件显示出此行的全部信息
源:
<asp:DataList ID="DataList1" runat="server" Width ="800px" OnItemCommand="DataList1_ItemCommand">
        <HeaderTemplate >
        <table width ="800px" >
        <tr><td>编号</td><td>书名</td><td>相关操作</td></tr>
       
        </HeaderTemplate>
        <ItemTemplate >
        <tr><td><%#Eval ("title_id") %></td><td><%#Eval("title") %></td><td><asp:LinkButton ID="lbtn_select" runat ="server" CommandName ="select" CommandArgument ='<%#Eval("title_id") %>'>选择</asp:LinkButton></td></tr>
        </ItemTemplate>
        <SelectedItemTemplate >
        <asp:GridView ID="GV_show" runat ="server" ></asp:GridView>
        </SelectedItemTemplate>
        <FooterTemplate >
         </table>
        </FooterTemplate>
        </asp:DataList>

CS代码:
 public SqlConnection con()
    {
        return new SqlConnection("server=.\\sqlexpress;database=fiveDB;integrated security=true");
    }

    public DataSet RTds(string Sqlstr)
    {
        scon = con();
        sda = new SqlDataAdapter(Sqlstr, scon);
        ds = new DataSet();
        sda.Fill(ds);
        return (ds);

    }
    protected void DataList1_ItemCommand(object source, DataListCommandEventArgs e)
    {
        if (e.CommandName == "select")
        {
            string id = e.CommandArgument.ToString();
            
            str = string.Format("select * from titles where title_id='{0}'", id);
            GridView gv = e.Item.FindControl("GV_show") as GridView ;
           
            gv.DataSource = RTds(str); //运行后此行出错,说“未将对象引用设置到对象的实例”
            gv.DataBind();
            
        }
    }

求解决!!
补充:.NET技术 ,  ASP.NET
CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,