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

asp.net 中的 GridView 显示数据的问题,高手进,急~~


如图,简单的说:这里有一张产品表,一张产品类型表,产品表当中有一个类型表的外键,我想让这个GridView显示每个产品对应的类型,请问应该如何实现.

因为GridView 是绑定数据源的,而数据源,只能绑定一个方法,所以我不能既得到了产品表中的相关数据,又通过产品表中的这个外键查出其对应的类型是什么(也许能,但是我不会),反正,总得来说,就是,如何同时在gridview 当中,实现两张有主外键关系的表的数据的展示.高手指导一下,不管用什么方法,EVAL啊,什么的,都可以,只要能实现,就行了.在线等咯!如果没看懂,可以跟帖,我再说详细点 --------------------编程问答-------------------- 数据源也可以通过select语句来选吧。。。我基本不用数据源控件。。都是直接在cs里面写绑定 --------------------编程问答-------------------- 基本没用过数据源控件,都手写代码,不过应该也可以,好像向导里有个复选框能选什么高级,你在数据源里的向导去找吧
帮顶 --------------------编程问答-------------------- 写一个inner join 语句不就解决了吗?

select a.*,b.TypeName from product a inner join ProductType b on a.typeid=b.typeid
--------------------编程问答--------------------
using System;
using System.Data;
using System.Configuration;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
using System.Data.SqlClient;

public partial class _Default : System.Web.UI.Page 
{
    string connstr = "server=.;database=pubs;uid=sa;pwd=";
    protected void Page_Load(object sender, EventArgs e)
    {
        SqlConnection conn = new SqlConnection(connstr);
        conn.Open();
        SqlDataAdapter da = new SqlDataAdapter("select users.username,partment.name from users,partment where users.departmentID=partment.departmentID", conn);
        DataSet ds = new DataSet();
        da.Fill(ds);
        conn.Close();
        this.GridView1.DataSource=ds.Tables[0].DefaultView;
        this.GridView1.DataBind();
    }
}
--------------------编程问答--------------------
引用 3 楼 frankonlyfine 的回复:
写一个inner join 语句不就解决了吗? 

SQL code
select a.*,b.TypeName from product a inner join ProductType b on a.typeid=b.typeid



这个语句可以的,但是你用的绑定控件,你把vs生成的sql用它换掉就可以了 --------------------编程问答-------------------- vb.net 绑定数据库和排序

common类模块 
Imports System
Imports System.Data
Imports System.Configuration
Imports System.Web
Imports System.Web.Security
Imports System.Web.UI
Imports System.Web.UI.WebControls
Imports System.Web.UI.WebControls.WebParts
Imports System.Web.UI.HtmlControls
Imports System.Drawing
Imports System.Drawing.Imaging
Imports System.Drawing.Drawing2D
Imports System.Data.SqlClient

 Public Shared conn As SqlConnection = New SqlConnection()
    Public Shared cmd As SqlCommand = New SqlCommand
    Public Shared common()
    Public Shared Sub openconn() '----------打开链接
        If conn.State = ConnectionState.Closed Then
            Try
                conn.ConnectionString = ConfigurationManager.ConnectionStrings("ConnectionString").ConnectionString
                cmd.Connection = conn
                conn.Open()
            Catch ex As Exception
                Throw New Exception(ex.Message)
            End Try
        End If
    End Sub
    Public Shared Sub closeconn() '---------关闭连接
        If conn.State = ConnectionState.Open Then
            conn.Close()
        End If
        conn.Dispose()
        cmd.Dispose()
    End Sub
 调用dataview1函数代码:
 Public Shared Function dataView1(ByVal sqlStr As String) As DataView 
        Dim sqldata As SqlDataAdapter = New SqlDataAdapter
        Dim daview As DataView = New DataView()
        Dim datas As DataSet = New DataSet
        Try
            openconn()
            cmd.CommandType = CommandType.Text
            cmd.CommandText = sqlStr
            sqldata.SelectCommand = cmd
            sqldata.Fill(datas)
            daview = datas.Tables(0).DefaultView
        Catch ex As Exception
            Throw New Exception(ex.Message)
        Finally
        End Try
        closeconn()
        Return daview
    End Function


form_load:
Dim sqlStr1 As String = "select * from 成绩表"
            Dim myView As DataView = common.dataView1(sqlStr1)
            Dim sort As String = ViewState("SortOrder") + " " + ViewState("OrderDire")
            myView.Sort = sort
            GridView1.DataSource = myView
            GridView1.DataKeyNames = New String() {"学号"}
            GridView1.DataBind()
补充:.NET技术 ,  ASP.NET
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,