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

asp.net2005:GridView 动态绑定列的一个问题

抽象出来的问题:

1、有数据库表:
    students表中字段:stuNum(学号),strName(姓名)
    stuData表中字段:strName(姓名),address(住址)   (假设没有重复的姓名)

2、gridview中已经绑定的列:
<asp:BoundField DataField="stuNum" HeaderText="学号">
</asp:BoundField>
要求:
   向gridview中动态插入一列,标题为"姓名",其值为:根据本行的学号查询出的姓名,要求点击姓名后能够查

看到关于此人的住址信息。

求高手给出解决方案 --------------------编程问答-------------------- 直接在数据层实现。
select * from students join stuData on students.strName=stuData.strName
现在直接绑定就可以了。
不过建议你两个表最好用学号关联 --------------------编程问答-------------------- 添加模板列 放控件 添事件。。完毕 --------------------编程问答-------------------- to hell_boy7
模板列我无法实现链接的功能啊 --------------------编程问答-------------------- 因为是抽象出来的问题,zengbingling提供的方案不能够解决问题

我想要的是:
  通过学号根据一定条件进行判断,比如若大于100,则在动态生成的列的值为“通过”,否则动态生成的列的值为“不通过”,再则,我能够点击“通过”或者“不通过”,连接到另一页面,显示与此学号相关的一些信息

不知道,我描述的够不够清楚 --------------------编程问答-------------------- 我现在的实现是:
通过在后台动态生成一个HyperLinkField列,然后设置其HeaderText和DataNavigateUrlFields、DataNavigateUrlFormatString,但是显示是HyperLinkField的text值根据学号的不同会有不同,我不知道如何动态计算HyperLinkField的text值 --------------------编程问答-------------------- <%# Eval("字段").ToString().Equals("")?"<a href=\"a.aspx?id="+Eval("stuNum")+"\"/>":""%>
或通过ITemplate动态模板列 --------------------编程问答-------------------- to wuyq11:
<%# Eval("字段").ToString().Equals("")?"<a href=\"a.aspx?id="+Eval("stuNum")+"\"/>":""%>
我如何体现“通过”与“不通过”字样呢? --------------------编程问答-------------------- 还是没有解决啊,继续求救中。。。。。。 --------------------编程问答-------------------- 1 LZ 會不會 把 2 個表 的資料  關聯 查詢 出來啊? 比如得到如下結果:
 stuNum strName strName address 
----------------------------------
  ...     ...     ...     ...

2  LZ 會不會 把 1 的結果 顯示到 gridview 中?

3  <asp:BoundField ...></asp:BoundField>  
   那麼 LZ 知不知道:
  <asp:TemplateField ...>
     <ItemTemplate>...</ItemTemplate>
  </asp:TemplateField>

4   Eval("xxx")  ???

5  gridview 的事件 ??

6  如何操作 gridview 對象 內容,比如獲取某行某列值,gv內嵌控件? --------------------编程问答--------------------
引用 2 楼 hell_boy7 的回复:
添加模板列 放控件 添事件。。完毕
+1 --------------------编程问答-------------------- 假设 students表中存在字段 "score" 表示该生成绩,你要判断该生成绩,如果大于等于60分显示通过,小于60分显示未通过.
你可以在查询数据中用select case语句 

SELECT id,name,title = 
CASE 
WHEN score>=60 THEN '通过' 
ELSE '未通过' 
END  
from students

然后你绑定到gridview就可以了,点击超链接传值的话,就传ID,下页获取ID 再查再绑定就可以了。
补充:.NET技术 ,  C#
CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,