找回密码
 立即注册

QQ登录

只需一步,快速开始

sliang79

高级会员

26

主题

66

帖子

1764

积分

高级会员

积分
1764

活字格认证

sliang79
高级会员   /  发表于:2011-5-11 17:41  /   查看:8808  /  回复:5
将sql查询出来的数据在spread中显示,要做某一列修改时用combobox选值修改。目前试了2种方法:

1      fpsprd.DataSource = dst;
        FarPoint.Web.Spread.ComboBoxCellType combcel = new ComboBoxCellType();
        fpsprd.Sheets[0].Columns[4].CellType = combcel;
        String[] cbstrstts = new String[] { "1", "2", "3" };
        combcel.Items = cbstrstts;
  无法显示 combobox中的1 2 t3

2       FarPoint.Web.Spread.ComboBoxCellType combcel = new ComboBoxCellType();
        fpsprd.Sheets[0].Columns[4].CellType = combcel;
        String[] cbstrstts = new String[] { "1", "2", "3" };
for (int i = 0; i < dst.Tables[0].Rows.Count; i++)
            {  for (int j = 0; j < 9; j++)
                    {
                          fpsprd.Sheets[0].Cells[i, j].Value = dst.Tables[0].Rows.ItemArray[j].ToString();
                    }            
            }
这个办法把向cell里赋值和初始化ComboBox顺序对调也一样无法得到下拉的值

5 个回复

倒序浏览
ZenosZeng讲师达人认证 悬赏达人认证
超级版主   /  发表于:2011-5-12 09:20:00
沙发
1、如果Sheet中某一列在编辑时全部都需要使用ComboBox,你可以通过设置Sheet[0].Columns[0].Editor实现

  1.             FarPoint.Web.Spread.ComboBoxCellType combcel = new ComboBoxCellType();
  2.             String[] cbstrstts = new String[] { "A", "B", "c" };
  3.             combcel.Items = cbstrstts;
  4.             FpSpread1.Sheets[0].Columns[1].Editor = combcel;
复制代码
2、如果你只想设置某些Cell编辑时显示ComboBox,你可以通过设置Sheets[0].Cells[0,0].Editor实现

  1.             FarPoint.Web.Spread.ComboBoxCellType combcel = new ComboBoxCellType();
  2.             String[] cbstrstts = new String[] { "A", "B", "c" };
  3.             combcel.Items = cbstrstts;
  4.             FpSpread1.Sheets[0].Cells[0,1].Editor = combcel;
复制代码
回复 使用道具 举报
sliang79
高级会员   /  发表于:2011-5-12 10:34:00
板凳

回复 2# Zera 的帖子

谢谢版主,我使用某一列在编辑时全部都需要使用ComboBox的方法可以显示了,如果combcel.Items不使用字符数组,使用dataset(查询出有两列数值) 如何设置为 DataTextField和.DataValueField两个参数
回复 使用道具 举报
ZenosZeng讲师达人认证 悬赏达人认证
超级版主   /  发表于:2011-5-12 11:22:00
地板
将ComboBox的数据源设置为DataSet的方法请参考以下代码:

  1.         protected void Page_Load(object sender, EventArgs e)
  2.         {
  3.             DataSet ds = new System.Data.DataSet();
  4.             DataTable name,city;
  5.             
  6.             name = ds.Tables.Add("Customers");
  7.             name.Columns.AddRange(
  8.                 new DataColumn[] {
  9.                     new DataColumn("LastName", typeof(string)),
  10.                     new DataColumn("FirstName", typeof(string)),
  11.                     new DataColumn("ID", typeof(Int32))});
  12.             name.Rows.Add(new object[] { "Fielding", "William", 0 });
  13.             name.Rows.Add(new object[] { "Williams", "Arthur", 1 });
  14.             name.Rows.Add(new object[] { "Zuchini", "Theodore", 2 });

  15.             city = ds.Tables.Add("City/State");
  16.             city.Columns.AddRange(
  17.                 new DataColumn[] {
  18.                     new DataColumn("City", typeof(string)),
  19.                     new DataColumn("CityCode", typeof(Int32)),
  20.                     new DataColumn("State", typeof(string))});
  21.             city.Rows.Add(new object[] { "Atlanta", 0, "Georgia" });
  22.             city.Rows.Add(new object[] { "Boston", 1, "Mass." });
  23.             city.Rows.Add(new object[] { "Tampa", 2, "Fla." });

  24.             FarPoint.Web.Spread.ComboBoxCellType cb = new FarPoint.Web.Spread.ComboBoxCellType();
  25.             cb.DataSource = ds;
  26.             cb.ShowButton = false;
  27.             cb.DataMember = "City/State";
  28.             cb.DataTextField = "city";
  29.             cb.DataValueField = "CityCode";
  30.             cb.UseValue = true;

  31.             //通过CellType设置ComboBox
  32.             FpSpread1.ActiveSheetView.Columns[0].CellType = cb;

  33.             //通过Editor设置ComboBox
  34.             FpSpread1.ActiveSheetView.Columns[2].Editor = cb;

  35.         }
复制代码
回复 使用道具 举报
sliang79
高级会员   /  发表于:2011-5-13 09:54:00
5#
问题解决了,谢谢Zera
回复 使用道具 举报
ZenosZeng讲师达人认证 悬赏达人认证
超级版主   /  发表于:2011-5-13 12:19:00
6#
也谢谢你关注GCDN
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 立即注册
返回顶部