【高分求教熟悉Syncfusion的大侠】如何动态更新一个DataGrid的ComboBox选项

ridincal 2009-12-16 10:52:20
我使用Syncfusion的GridDataBoundGrid在一个WinForm中定义了一个Grid表格,其中的两列为下拉列表类型,我使用下面的函数定义这两列的Foreign Key,以显示关系表中对应ID的名称:

public void setForeignKeyColumn(GridDataBoundGrid grid,string strSelTable,string strColName,string strFName,string strFID)
{
try
{
m_Conn.Open();
OleDbDataAdapter daTemp = new OleDbDataAdapter(strSelTable, m_Conn);
if (m_DS.Tables.Contains(strColName)) m_DS.Tables.Remove(strColName);
daTemp.Fill(m_DS, strColName);
m_Conn.Close();
}
catch (Exception ex)
{
MessageBox.Show(ex.ToString(), "错误信息", MessageBoxButtons.OK, MessageBoxIcon.Error);
return;
}
GridBoundColumn column = grid.Binder.InternalColumns[strColName];
GridStyleInfo si = column.StyleInfo;
column.MappingName = strFID;
si.CellType = "ComboBox";
si.DataSource = m_DS.Tables[strColName];
si.DisplayMember = strFName;
si.ValueMember = strFID;
si.ShowButtons = GridShowButtons.ShowCurrentRow;
si.HorizontalAlignment = GridHorizontalAlignment.Left;
si.DropDownStyle = GridDropDownStyle.Exclusive;
}

strSel = "SELECT * FROM TBL_System";
setForeignKeyColumn(this.gridControl1, strSel, "SystemID", "SystemName", "SystemID");

我希望这下拉列表的选项是用户能够自行更改的,可是我在用户完成选项编辑后重新调用setForeignKeyColumn函数,并调用了this.gridControl1.Refresh(); 下拉列表的选项并未更新,请教如何能够做到即时更新ComboBox的下拉选项。
...全文
105 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
lovexilove 2009-12-16
  • 打赏
  • 举报
回复
帮顶
ridincal 2009-12-16
  • 打赏
  • 举报
回复
没有人知道吗?急啊
cicigl 2009-12-16
  • 打赏
  • 举报
回复
UPUP,学习
ridincal 2009-12-16
  • 打赏
  • 举报
回复
顶起来 唉
ridincal 2009-12-16
  • 打赏
  • 举报
回复
这个问题很难吗???
ridincal 2009-12-16
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 wuyq11 的回复:]
重新绑定数据
[/Quote]

si.DataSource = m_DS.Tables[strColName];
si.DisplayMember = strFName;
si.ValueMember = strFID;

不算重新绑定数据吗?
平生我自如 2009-12-16
  • 打赏
  • 举报
回复
顶顶顶顶顶顶
wuyq11 2009-12-16
  • 打赏
  • 举报
回复
重新绑定数据

110,566

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧