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();
}
}
这个语句可以的,但是你用的绑定控件,你把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