为什么要放到2个DataGrid里面呢?单个DataGrid也可以显示主从表的啊
解决方案 »
- 在c#后台如何给另一窗口控件赋值
- 求个最高效方法,abc -> a/b/c 或 abc-> a/b/c/
- 如果在创建控件后添加事件???
- 请问这段聊天程序服务端怎么运行不起来
- 在保存图象到access错误!
- 请求支援,有谁知道判断中文的正则表达式怎么写,请进!
- 请问各位大侠,能否用程序实现本地访问某个网站上的数据库(ACCESS数据库)
- 在當前project中加入一個jpg文件後, 不能通過當前命名空間訪問的問題
- 水晶报表该如何操作???急!有重谢!
- 在C#中如何启动另外一个程序?
- 在C#中怎么实现类似论坛大、小类显示在一个aspx中(类似树型菜单)?急,请高手指教!
- 怎样用javascript增加或删除datagrid的item?
改成DataSource='<%#((System.Data.DataRowView)Container.DataItem).CreateChildView("MyRelation") %>'> 看看可不可以
Index.aspx部分:
-----------------------------------
<%@ Import Namespace="System.Data" %>
<%@ Page language="c#" Codebehind="Index.aspx.cs" AutoEventWireup="false" Inherits="OurThinkForum.Index" %>
<HTML>
<HEAD>
<title>WebForm1</title>
<META http-equiv="Content-Type" content="text/html; charset=gb2312">
<LINK href="site.css" type="text/css" rel="stylesheet">
</HEAD>
<body>
<form id="Form1" method="post" runat="server">
<asp:DataGrid id="DataGrid1" runat="server" AutoGenerateColumns="False">
<Columns>
<asp:TemplateColumn>
<ItemTemplate>
<asp:HyperLink runat="server" Text='<%# DataBinder.Eval(Container, "DataItem.BC_NAME", "haha{0}") %>' NavigateUrl='<%# DataBinder.Eval(Container, "DataItem.BC_ID", "ddd.aspx?BC_ID={0}") %>' ID="Hyperlink1">
</asp:HyperLink>
<asp:DataGrid id="DataGrid2" runat="server" AutoGenerateColumns="False" DataSource='<%#((System.Data.DataRowView)Container.DataItem).CreateChildView("MyRelation") %>'>
<Columns>
<asp:BoundColumn DataField="BF_ID"></asp:BoundColumn>
</Columns>
</asp:DataGrid>
</ItemTemplate>
</asp:TemplateColumn>
</Columns>
</asp:DataGrid>
</form>
</body>
</HTML>
Index.aspx.cs文件部分:
-------------------------------------------------
using System;
using System.Collections;
using System.ComponentModel;
using System.Data;
using System.Data.SqlClient;
using System.Drawing;
using System.Web;
using System.Web.SessionState;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.HtmlControls;
using System.Configuration;
namespace OurThinkForum
{
/// <summary>
/// WebForm1 的摘要说明。
/// </summary>
public class Index : System.Web.UI.Page
{
protected System.Web.UI.WebControls.DataGrid DataGrid1;
protected System.Web.UI.WebControls.DataGrid DataGrid2;
// 数据库链接
private SqlConnection myConnection = new SqlConnection(ConfigurationSettings.AppSettings["ConnectionString"]);private void Page_Load(object sender, System.EventArgs e)
{
myConnection.Open();
string SqlCmd1 = "Select * From ......";
string SqlCmd2 = "Select * From ......";
SqlDataAdapter DataAdapter1 = new SqlDataAdapter(SqlCmd1, myConnection);
SqlDataAdapter DataAdapter2 = new SqlDataAdapter(SqlCmd2, myConnection);
DataSet ds = new DataSet();
DataAdapter1.Fill(ds,"Categorys");
DataAdapter2.Fill(ds,"Forums");// 创建 Categorys 表和 Forums 表之间的关系.
ds.Relations.Add("MyRelation",
ds.Tables["Categorys"].Columns["BC_ID"],
ds.Tables["Forums"].Columns["BC_ID"]);
// 绑定Authors到父Repeater
DataGrid1.DataSource = ds.Tables["Categorys"];
Page.DataBind();
myConnection.Close();}
}
}几点关键的地方:
1、提示错误的注意,引用System.Data不是在.cs的类文件中引用,而是在ASPX文件头部用这种方式;
2、DataGird2不需要在类文件中定义DataSource,在aspx文件中定义即可;
3、使用Relations.Add()汗,初写C#,天天碰钉子,珍惜这菜鸟级问题的成果,和和!谢谢大家!希望各位大家能帮助初学者,我的MSN是:[email protected]