找回密码
 立即注册

QQ登录

只需一步,快速开始

manabout

注册会员

15

主题

76

帖子

165

积分

注册会员

积分
165

活字格认证

manabout
注册会员   /  发表于:2012-1-30 13:56  /   查看:6049  /  回复:5
我在spread中绑定数据库时,某个字段是ID,但是我想显示该ID对应的名称,这个应该怎么做?

例如,我绑定的表是【用户信息】,有一个【毕业学校】的字段,该字段在【用户信息】表中使用【学校】表中的【ID】字段,我怎么才能显示【学校】表中的【NAME】字段的值呢?

具体业务比较复杂,不能考虑使用内连接将两个表的信息查询出来放到一个查询结果中!

5 个回复

倒序浏览
ZenosZeng讲师达人认证 悬赏达人认证
超级版主   /  发表于:2012-1-30 14:38:00
沙发
从你的数据库设计来看,查询【学校】这张表的操作肯定是少不了的,要不然就没法得到【Name】的值,问题在于是在一个SQL语句中查询,还是分开查询的问题,下面是分开查询的实现方法,主要是通过ComboBoxCellType的Value和Text来实现:
  1. protected void Page_Load(object sender, EventArgs e)
  2. {
  3.     if (!IsPostBack)
  4.     {
  5.         // 用户信息
  6.         DataTable dtUser = new DataTable("用户信息");
  7.         dtUser.Columns.Add("用户名");
  8.         dtUser.Columns.Add("毕业学校ID");
  9.         dtUser.Columns.Add("毕业时间");
  10.         dtUser.Rows.Add("张三", 1, "2008/07/30");
  11.         dtUser.Rows.Add("李四", 2, "2008/07/30");
  12.         dtUser.Rows.Add("王五", 3, "2008/07/30");

  13.         // 学校信息
  14.         DataTable dtSchool = new DataTable("学校");
  15.         dtSchool.Columns.Add("学校ID");
  16.         dtSchool.Columns.Add("学校名称");
  17.         dtSchool.Rows.Add(1,"北京大学");
  18.         dtSchool.Rows.Add(2,"西安交通大学");
  19.         dtSchool.Rows.Add(3,"上海戏剧学院");
  20.                
  21.         // 创建一个CellType
  22.         ComboBoxCellType cbc = new ComboBoxCellType();
  23.         cbc.DataSource = dtSchool;
  24.         cbc.DataTextField = "学校名称";
  25.         cbc.DataValueField = "学校ID";

  26.         FpSpread1.ActiveSheetView.DataSource = dtUser;
  27.         FpSpread1.ActiveSheetView.Columns[1].CellType = cbc;
  28.         FpSpread1.ActiveSheetView.Columns[1].Locked = true;
  29.     }                       
  30. }
复制代码
回复 使用道具 举报
manabout
注册会员   /  发表于:2012-1-30 15:05:00
板凳
可以分开查询
用ComboBoxCellType的问题是双击的时候会显示一个下拉列表框,但是我并不需要这个下拉列表框
回复 使用道具 举报
ZenosZeng讲师达人认证 悬赏达人认证
超级版主   /  发表于:2012-1-30 15:38:00
地板

回复 3# manabout 的帖子

这一列需要编辑吗,如果不需要编辑可以将这一列Lock掉,就不会出现下拉框:
  1. FpSpread1.ActiveSheetView.Columns[1].Locked = true;
复制代码
回复 使用道具 举报
manabout
注册会员   /  发表于:2012-1-30 16:01:00
5#
非常感谢!请将问题设置为已处理。
回复 使用道具 举报
ZenosZeng讲师达人认证 悬赏达人认证
超级版主   /  发表于:2012-1-30 16:27:00
6#
不客气
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 立即注册
返回顶部