比如说我要在该列中加如一个ImageButton,怎么加入,又怎么帮定图片,

解决方案 »

  1.   

    右击DATAGRIT
    选 属性生成器!
    加入一个模版列后.
    确定!
    还是右击DATAGRIT
    选编辑模版列!
    会用了吧!
      

  2.   

    <asp:TemplateColumn HeaderText="删除">

    <ItemTemplate><asp:Button id="Button1" runat="server" Text="删除" CommandName="dele" BorderWidth="1px" ForeColor="Red"></asp:Button></ItemTemplate></asp:TemplateColumn>
      

  3.   

    9494,用zyw2833() 的方法,直接加入想要的控件,很方便的。
      

  4.   

    比如说:页面上是一个DataList,从数据库中取出“影片类型”来显示,在每取出一个“影片类型”时,根据当前取出的“影片类型”取出“影片记录”
    “影片类型”在DataList2中显示,在它的模板中再套一个Repeater(或DataList也行),在这个Repeater的模板中再显示影片记录//这是DataList,用来显示所有的影片类型
    <asp:datalist id="DataList2" runat="server" RepeatColumns="2" DataKeyField="类型ID" BorderColor="Tan" ForeColor="Black" BackColor="LightGoldenrodYellow" CellPadding="2" GridLines="Both" BorderWidth="1px">
    //这是DataList的模板,这里套了一个表格和若干Web控件,其中一个Repeater
    <ItemTemplate>
      //这是一个表格,是事前设计好的
      <TABLE width="300" border="0">
        <TR>
        //在这里显示当前类型中最新添加的影片,如动作片中最新添加的XX电影
        //在模板中显示影片类型名称的链接,按URL参数方式传送到下一页面
          <TD colSpan="2"><B>最新添加:</B> <A href='Movie.aspx?MovieType=<%# DataBinder.Eval(Container, "DataItem.类型ID")%>'>
              <%# DataBinder.Eval(Container, "DataItem.类型名称")%>
            </A>
          </TD>
        </TR>
        <TR>
          <TD width="150"><A id="Link1" runat="server" Target="_blank"><IMG id="Img1" height="90" alt="" src="" width="120" border="1" runat="server"></A>
            <DIV align="center">
              <asp:HyperLink id="LinkName" runat="server" Target="_blank"></asp:HyperLink></DIV>
          </TD>
          <TD vAlign="top" align="left">
          //这是Repeater,用来显示当前类型中影片
            <asp:Repeater id="Repeater1" runat="server">
              //这是Repeater的模板
              <ItemTemplate>
                <div align="left">
                //在模板中显示影片名称的链接,按URL参数方式传送到下一页面
                  <a href='MovieShow.aspx?MovieID=<%# DataBinder.Eval(Container, "DataItem.影片ID")%>' target=_blank>
                    <%# DataBinder.Eval(Container, "DataItem.影片名称")%>
                  </a>
                </div>
              </ItemTemplate>
              //Repeater的模板结束
            </asp:Repeater></TD>
        </TR>
      </TABLE>
    </ItemTemplate>
    //DataList的模板结
    </asp:datalist>
    代码:
    private void Page_Load(object sender, System.EventArgs e)
    {
      if(!IsPostBack)
      {
        BindList();//绑定数据到DataList
      }
    }private void BindList()
    {
      OleDbConnection conn=(OleDbConnection)Session["conn"];
      try
      {
        conn.Open();
        //取出影片的类型
        string sSel = "SELECT 类型ID, 类型名称,类型图片 FROM 类型";
        OleDbDataAdapter da = new OleDbDataAdapter(sSel,conn);
        DataSet ds = new DataSet();
        da.Fill(ds);
        DataList2.DataSource=ds;
        DataList2.DataBind();
      }
      finally
      {
        conn.Close();
      }
    }//在影片类型绑定的同时,查询此类型的影片,并绑定到Repeater上
    private void DataList2_ItemDataBound(object sender, System.Web.UI.WebControls.DataListItemEventArgs e)
    {
      //以DataList的关键字做查询,前提是DataList的关键字设置为类型ID
      string sID = ((DataList)sender).DataKeys[(int)e.Item.ItemIndex].ToString();
      OleDbConnection conn=(OleDbConnection)Session["conn"];
      try
      {
        if (conn.State.ToString() !="Open") conn.Open();
        //根据关键字(类型ID)查询此类型的影片
        string sSel = "SELECT top 6 * FROM V_影片 Where 类型ID = " + sID +" Order by 更新时间 desc";
        OleDbDataAdapter da = new OleDbDataAdapter(sSel,conn);
        DataSet ds = new DataSet();
        da.Fill(ds);
        //因为Repeater在模板中,所以无法直接使用,只能通过查找控件的方式来使用
        Repeater Repeater1 = (Repeater)e.Item.FindControl("Repeater1");
        //将影片绑定到Repeater上显示
        Repeater1.DataSource = ds;
        Repeater1.DataBind();
        //这一段是显示最新一条影片记录信息
        //因为DataList绑定的影片类型,所以无法通过数据绑定的方式直接显示
        //只能在这里查询后再将值绑定到模板的控件上显示
        if (ds.Tables[0].Rows.Count >0)
        {
          //超链接控件,网页表示为<a href=""></a>的类型
          HtmlAnchor lnk = (HtmlAnchor)e.Item.FindControl("Link1");
          lnk.HRef ="MovieShow.aspx?MovieID=" + ds.Tables[0].Rows[0]["影片ID"].ToString();      //图片控件,网页表示为<img>
          HtmlImage img = (HtmlImage)e.Item.FindControl("Img1");
          img.Src= ds.Tables[0].Rows[0]["图片"].ToString();
          
          //Web控件,ASP.net支持的类型
          HyperLink linkName = (HyperLink)e.Item.FindControl("linkName");
          linkName.NavigateUrl = "MovieShow.aspx?MovieID=" + ds.Tables[0].Rows[0]["影片ID"].ToString();
          linkName.Text =ds.Tables[0].Rows[0]["影片名称"].ToString();
        }
        
      }
      finally
      {
        conn.Close();
      }
    }
      

  5.   

    这个结构有点像我们以前在Delphi中的主从表格一样,在主表格显示数据的同时,显示子表格的内容,明白了么?