首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > asp.net >

GridView控件的有关问题。

2012-03-03 
GridView控件的问题。。。GridView控件的问题。。。文章发布系统——》后台管理——》管理文章页面:用GridView控件显示

GridView控件的问题。。。

GridView控件的问题。。。



文章发布系统——》后台管理——》管理文章页面:

用GridView控件显示所有的文章列表,其中有一列是栏目,问题就出在这里

栏目列显示的是数据库里面的单独的表wyx_class的wyx_classname列

文章表是wyx_text(wyx_text表中列wyx_classtype对应wyx_class表中的列wyx_id)

请问如何在GridView栏目列里显示出每篇文章所对应的栏目名称???







前台代码:


  <table align="center" border="1" bordercolor="#666666" cellpadding="0" cellspacing="0"
  width="600">
  <tr>
  <td colspan="2" style="width: 602px; height: 21px; text-align: center">
  <strong><span style="font-size: 16pt">管理文章</span></strong></td>
  </tr>
  <tr>
  <td style="width: 50px; height: 21px;text-align:center">
  <asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="False" Width="599px" AllowPaging="True" OnPageIndexChanging="GridView1_PageIndexChanging" OnSelectedIndexChanged="GridView1_SelectedIndexChanged">
  <Columns>
  <asp:BoundField DataField="wyx_id" HeaderText="编号" />
  <asp:BoundField HeaderText="栏目" DataField="wyx_classtype" />
  <asp:HyperLinkField DataNavigateUrlFields="wyx_id" DataNavigateUrlFormatString="../view.aspx?id={0}"
  DataTextField="wyx_title" DataTextFormatString="{0}" HeaderText="标题" Text="标题" >
  <ItemStyle HorizontalAlign="Left" />
  </asp:HyperLinkField>
  <asp:BoundField DataField="wyx_date" HeaderText="日期" />
  <asp:HyperLinkField DataNavigateUrlFields="wyx_id" DataNavigateUrlFormatString="admin_edit.aspx?id={0}"
  HeaderText="编辑" Text="编辑" />
  <asp:HyperLinkField DataNavigateUrlFields="wyx_id" DataNavigateUrlFormatString="admin_del.aspx?id={0}"
  HeaderText="删除" Text="删除" />
  </Columns>
  </asp:GridView>
  <br />
  &nbsp;</td>
  </tr>
  </table>



后台代码:

  protected void Page_Load(object sender, EventArgs e)
  {
  string strConn = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + Server.MapPath("../data/wyx.mdb");
  OleDbConnection ConnAcc = new OleDbConnection(strConn); 
  ConnAcc.Open();
  string strSQL = "select * from wyx_text ORDER BY wyx_id DESC";  
  OleDbDataAdapter da = new OleDbDataAdapter(strSQL, ConnAcc); 
  DataSet ds = new DataSet();
  da.Fill(ds, "wyx");
  ConnAcc.Close();
  GridView1.DataSource = ds;
  GridView1.DataBind();
  }


[解决办法]
这个直接考虑构造sql语句,也就是表连接就可以了吧

select a.*,b.* from 文章表 a,栏目表 b where a.lmID = b.id
------解决方案--------------------


你的GridView绑定的是你取出来的DataSet
你一开始就没有去取栏目表,如何让GridView去显示栏目?
SQL按1楼的写 生成出来的DataSet绑定到GridView 然后GridView是可以手动编辑显示的列的
[解决办法]
嵌套GridView
具体说下,详细的例子网上找找

C# code
<asp:GridView ID="GridView1" runat="server"  DataSource='<%# ((System.Data.DataRowView)Container.DataItem).CreateChildView("myrelation") %>'>
[解决办法]
有两个方法:
1.构造SQL语句,将两个表联表构造SQL语句,得到你想要的结果,然后通过GridView显示在页面中
2.不用联表构造SQL语句,通过在后台(.cs)中,将两个表建立关系(Relation),通过GridView嵌套或者Datalist嵌套显示

第二种方法,请看我的blog:(类似)
http://blog.csdn.net/yangtzeu/archive/2008/02/19/2105324.aspx

热点排行