如题,从表中只取出了其所属分类的ID号,如何在GRIDVIEW中显示成分类名称?分类ID,分类名称是存在单独的一个表中的

解决方案 »

  1.   

    select 分类表.分类名,table.xxx,table.xxx from table,分类表 where 分类表.ID = table.ID
      

  2.   

    ls对了,联合查询,sql方面的问题。
      

  3.   

    有一个文档表,里面存了文档ID,文档标题,日期,分类ID等字段
    另一个分类表,里面存有分类ID,分类名称字段.
    在GRIDVIEW中显示的是文档表中所有字段的内容,我的意思是要在显示时,将分类ID字段显示成分类名称,明白没有?
    我使用了模板列,但后续不知道该如何做了?
      

  4.   

    把sql语句相应改一下就行了
    select a.文档ID,a.文档标题,a.日期,b.分类名称 from 文档表 as a inner join 分类表 as b on a.分类ID=b.分类ID
      

  5.   

    不明白你什么意思.
    select *,(select 分类名称 from 分类表 where 分类表.id=a.分类id) from a
      

  6.   

    我是想在GRIDVIEW中放一个Dropdownlist,值为分类ID,显示的内容为分类名称,明白?
      

  7.   

    问题已解决不知道好不好!下面是用模版列!
    <asp:TemplateField HeaderText="类别">
                        <ItemTemplate>
                            <%#Class_Name(Convert.ToInt32(Eval("Class_ID")))%>
                        </ItemTemplate>
                    </asp:TemplateField>
      

  8.   

    第一,做个级连查询.
    第二,做实体对象进行映射,在DAL中写操作,将表结构封入MODEL类中,在MODEL中进行实体对象的映射,最后在.ASPX中进行绑定,偶在DAL中的方法的返回值是IList的,可以作为数据源
      

  9.   

    public string Class_Name(int Class_ID)
        {
            return Convert.ToString(conn.GetDs("Select * From Down_Class Where ID=" + Class_ID + "").Tables[0].Rows[0]["Class_Name"]);
        }
      

  10.   

    to smallcatyyy(没有做不到的)(只有想不到的)
    我觉得你的方法不好,模板列不是为了显示数据而设计的,你的这个方法我觉得不如弄了连接查询来的方便,当然,如果你有特殊的需求除外了。to seapen (鹏鹏)  
    可以参考 smallcatyyy(没有做不到的)(只有想不到的)
    的方法
    <asp:TemplateField HeaderText="类别">
          <ItemTemplate>
               <asp:DropDownList ID="DropDownList1" Width="68px" runat="server" EnableViewState="true" ></asp:DropDownList>
           </ItemTemplate>
    </asp:TemplateField>
    然后在GridView的RowCreated事件里绑定它
     DropDownList dl = (DropDownList)e.Row.FindControl("DropDownList1");
     dl.DataSource = getData();
     dl.DataTextField = "TextFiled";
     dl.DataValueField = "ValueFiled";
     dl.DataBind();
      

  11.   

    To:interboy(冯东)
    没感觉你的方法比我的好!感觉你的更麻烦,我的更直接!
      

  12.   

    参考 
                    protected   void   GridView1_RowDataBound(object   sender,   GridViewRowEventArgs   e) 
                    { 
                            if   (e.Row.RowType==DataControlRowType.DataRow) 
                            { 
                                    if   (e.Row.Cells[1].Text== "1 ") 
                                    { 
                                            e.Row.Cells[2].Text   =   "名称 "; 
                                    }
     对我有用[0]