1

您好我正在使用 CF 3.5 和 Visual Studio 2008 开发一个智能 WM 6.1 应用程序。

所以我有一个通过数据源(我的 sqlite 数据库表)填充的下拉列表。

我的问题是如何在不关闭并重新打开表单的情况下刷新(并用新数据填充)这个下拉列表?

我的想法是在单击表单上的按钮后刷新它。

我尝试:

 List.Update();
 List.Refresh();

 List.BeginUpdate();
 List.DataSource() = Data;
 List.EndUpdate();

谢谢

4

1 回答 1

1

首先,获取您的数据。

DataTable table = new DataTable();
table.Load(sqliteCmd.ExecuteReader());

如果成功,请继续。

if (0 < table.Rows.Count) {
}

如果您想花哨,请保存当前选定的项目,以便在更新DropDownList控件后重新选择它。

  string last = ddlCtrl.Items[ddlCtrl.SelectedIndex].ToString();

DropDownList从您的控制中清除项目。

  ddlCtrl.Items.Clear();

将数据中的信息添加到DropDownList控件中。

  foreach (DataRow r in table.Rows) {
    ddlCtrl.Items.Add(r[0].ToString());
  }

如果您很喜欢,请重新选择最后一项。

  if (!String.IsNullOrEmpty(last)) {
    for (int index = 0; index < ddlCtrl.Items.Count; index++) {
      if (ddlCtrl.Items[index].ToString() == last) {
        ddlCtrl.SelectedIndex = index;
        break;
      }
    }
  }
于 2013-06-05T15:06:32.690 回答