将特定行加载为组合框中的默认项

Posted

技术标签:

【中文标题】将特定行加载为组合框中的默认项【英文标题】:Load a specific row as default item in combobox 【发布时间】:2015-12-22 08:08:27 【问题描述】:

我用来自数据库 Access 的数据填充组合框,但我的问题是如何将数据库中的特定行填充为使用 C# 组合框中的默认项?

gerant remplirlistgerant = new gerant();
foreach (gerant ligne in remplirlistgerant.getinfogerant())

   cmbgerant.Items.Add(ligne.CIN_GERANT + " - " + ligne.NOM_GERANT + " - " + ligne.PRENOM_GERANT);

【问题讨论】:

设置 cmbgerant.SelectedItem = 您的特定项目 它不起作用,因为在数据库访问中,填充从最后一行开始,如果我选择第 4 行作为默认项目并且它包含例如这一行“4-abcd”,在添加其他行之后如果将其他行作为默认项。例如“8-klmn”......等等? 你应该在填充整个组合框后设置选定的项目。在foreach期间预先保存,然后在foreach之后选择。 但是组合框是空的,它是从数据库中填充的,我该怎么做呢? 【参考方案1】:

希望我知道你的,

例如if ligne.CIN_GERANT = "aaa" 当前行将被选中。

    gerant remplirlistgerant = new gerant();
    foreach (gerant ligne in remplirlistgerant.getinfogerant())
    
       cmbgerant.Items.Add(ligne.CIN_GERANT + " - " + ligne.NOM_GERANT + " - " + ligne.PRENOM_GERANT);
       // Example if ligne.CIN_GERANT = "aaa" then select this row.
       if (ligne.CIN_GERANT == "aaa"  )
       
            cmbgerant.SelectedIndex = cmbgerant.Items.Count - 1;// Item just added
        
    

【讨论】:

谢谢,这是个好主意,但我不明白你为什么设置 -1? 因为索引从 0 到 Items.Count - 1。例如,如果您添加了两行,则要选择第 2 行,第 2 行的索引为 1。

以上是关于将特定行加载为组合框中的默认项的主要内容,如果未能解决你的问题,请参考以下文章

组合框中的默认选择列表值 - LWC

将 Microsoft Access 组合框中的默认值设置为当前月份

如何从 VB.net 组合框中的数据库中获取特定列的所有行?

WPF 组合框 - 选择第一项作为默认值

未选择任何内容时将默认值保存在组合框中c#

如何自动展开到组合框中的重复条目?