gpt4 book ai didi

C# - 用 DataTable 填充组合框

转载 作者:IT王子 更新时间:2023-10-29 04:33:25 24 4
gpt4 key购买 nike

我习惯于使用有大量示例的 Java。由于各种原因,我不得不切换到 C# 并尝试在 SharpDevelop 中执行以下操作:

// Form has a menu containing a combobox added via SharpDevelop's GUI

// --- Variables
languages = new string[2];
languages[0] = "English";
languages[1] = "German";
DataSet myDataSet = new DataSet();

// --- Preparation
DataTable lTable = new DataTable("Lang");
DataColumn lName = new DataColumn("Language", typeof(string));
lTable.Columns.Add( lName );
for( int i=0; i<languages.Length; i++ ) {
DataRow lLang = lTable.NewRow();
lLang["Language"] = languages[i];
lTable.Rows.Add(lLang);
}
myDataSet.Tables.Add(lTable);

// --- Handling the combobox
mnuActionLanguage.ComboBox.DataSource = myDataSet.Tables["Lang"].DefaultView;
mnuActionLanguage.ComboBox.DisplayMember = "Language";

人们会假设在下拉列表中看到一些值,但它是空的。请告诉我我做错了什么;(

编辑:mnuActionLanguage.ComboBox.DataBind() 也是我在网上找到的,但它在我的情况下不起作用。

解决方案

mnuActionLanguage.ComboBox.BindingContext = this.BindingContext;

最后解决了问题!

最佳答案

您需要设置 ToolStripComboBox.ComboBox 的绑定(bind)上下文。

这是我刚刚使用 Visual Studio 重新创建的代码的略微修改版本。在我的例子中,菜单项组合框称为 toolStripComboBox1。请注意设置绑定(bind)上下文的最后一行代码。

我注意到,如果组合位于工具条的可见区域中,则绑定(bind)在没有它的情况下有效,但在下拉列表中时无效。你有遇到同样的问题吗?

如果你不能让它工作,请通过我的联系页面给我写信,我会把项目发给你。您将无法使用 SharpDevelop 加载它,但可以使用 C# Express。

var languages = new string[2];
languages[0] = "English";
languages[1] = "German";

DataSet myDataSet = new DataSet();

// --- Preparation
DataTable lTable = new DataTable("Lang");
DataColumn lName = new DataColumn("Language", typeof(string));
lTable.Columns.Add(lName);

for (int i = 0; i < languages.Length; i++)
{
DataRow lLang = lTable.NewRow();
lLang["Language"] = languages[i];
lTable.Rows.Add(lLang);
}
myDataSet.Tables.Add(lTable);

toolStripComboBox1.ComboBox.DataSource = myDataSet.Tables["Lang"].DefaultView;
toolStripComboBox1.ComboBox.DisplayMember = "Language";

toolStripComboBox1.ComboBox.BindingContext = this.BindingContext;

关于C# - 用 DataTable 填充组合框,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/256832/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com