找回密码
 立即注册

QQ登录

只需一步,快速开始

shone

论坛元老

11

主题

32

帖子

7169

积分

论坛元老

积分
7169

活字格认证

shone
论坛元老   /  发表于:2012-7-14 10:34  /   查看:6436  /  回复:5
这样的写法 是怎么写的  求指导呀!

5 个回复

倒序浏览
iceman
社区贡献组   /  发表于:2012-7-16 10:10:00
沙发
回复 1楼shone的帖子

shone 你好,
1.请问楼主指的动态加载下拉框的意思是?
2.下面是设置 AjaxComboBoxCellType 的 Demo 请参考:
5204.zip (1.17 MB, 下载次数: 514)
回复 使用道具 举报
shone
论坛元老   /  发表于:2012-7-16 10:29:00
板凳
回复 2楼iceman的帖子

就是比如说 是      一个下拉框  先选择国家, 然后 一个下拉框 是 这个国家下的省份    !第一个是 直接加载的,之后一个是 根据第一个的值 来加载的!  我这里可能不止两级,可能会有3 个 到4个直接的关联
回复 使用道具 举报
iceman
社区贡献组   /  发表于:2012-7-16 12:08:00
地板
回复 3楼shone的帖子

可以通过 ComboBoxCellType  实现,但需要刷新:

  1.         protected void Page_Load(object sender, EventArgs e)
  2.         {
  3.             if (IsPostBack)
  4.                 return;

  5.             string[]cbstr;
  6.             string[]strval;
  7.             cbstr=new String[]{"China","Japan","USA"};
  8.             strval=new String[]{"1","2","3"};
  9.             FarPoint.Web.Spread.ComboBoxCellType cb=new FarPoint.Web.Spread.ComboBoxCellType();
  10.             cb.Items=cbstr;
  11.             cb.AutoPostBack = true;
  12.             cb.ShowButton = true;
  13.             FpSpread1.Sheets[0].Columns[0].CellType=cb;

  14.         }

  15.         protected void FpSpread1_ButtonCommand(object sender, FarPoint.Web.Spread.SpreadCommandEventArgs e)
  16.         {
  17.             System.Drawing.Point location = (System.Drawing.Point)e.CommandArgument;
  18.             switch (e.SheetView.Cells[location.X,location.Y].Text)
  19.             {
  20.                 case "China":
  21.                     string[]cbstr;
  22.                     string[]strval;
  23.                     cbstr=new String[]{"ShanXi","GuangDong","FuJian"};
  24.                     strval=new String[]{"1","2","3"};
  25.                     FarPoint.Web.Spread.ComboBoxCellType cb=new FarPoint.Web.Spread.ComboBoxCellType();
  26.                     cb.Items=cbstr;
  27.                     cb.AutoPostBack = true;
  28.                     cb.ShowButton = true;
  29.                     FpSpread1.Sheets[0].Cells[0, 1].CellType = cb;
  30.                     break;
  31.                 case "Japan":
  32.                     break;
  33.                 case "USA":
  34.                     break;
  35.                 default:
  36.                     break;
  37.             }
  38.         }
复制代码
回复 使用道具 举报
shone
论坛元老   /  发表于:2012-7-16 13:32:00
5#
回复 4楼iceman的帖子

这样写不好吧?  我可不可以获取 他是哪里返回的数据? 第几行第几列 返回的?
回复 使用道具 举报
iceman
社区贡献组   /  发表于:2012-7-16 17:46:00
6#
回复 5楼shone的帖子

上述代码中,该句代码,location.X 即为 返回 Cell 的行索引,location.Y 即为 返回 Cell 的列索引:

  1. System.Drawing.Point location = (System.Drawing.Point)e.CommandArgument;
复制代码

楼主指的不好,具体不好在哪里?我们可以讨论修改。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 立即注册
返回顶部