【问题标题】:combox, showing label if empty组合框,如果为空则显示标签
【发布时间】:2015-03-30 23:59:20
【问题描述】:

我只是想从下拉菜单中将值放入 datagridview 选择项中。我明白了,但是当我得到一个不包含值的项目时,我想显示一个标签......示例确实如此,但是随后,另一个下拉菜单丢失了项目......我的意思是,我想显示国家和城市。 ..我正在使用 C#。

    private void cmdPaisesFiltro_SelectedIndexChanged(object sender, EventArgs e)
    {
        try
        {
            if (cmbPaisesFiltro.SelectedItem == null)
            {
                cmbProvinciasFiltro.DataSource = null;
                cmbProvinciasFiltro.Items.Clear();
                return;
            }
                int id = Convert.ToInt32(((DataRowView)cmbPaisesFiltro.SelectedItem).Row["PAI_ID"]);
                DataSet dsDataFromDB = FProvincias.Filtro(id);
                if (dsDataFromDB.Tables[0].Rows.Count == 0)

                    if (dt.Rows.Count > 0)
                    {

                       lblNada.Visible = true;
                        //label
                    }


            {
                cmbProvinciasFiltro.DataSource = null;
                cmbProvinciasFiltro.Items.Clear();
                return;
            }

                cmbProvinciasFiltro.DisplayMember = "PROV_DESCRIPCION";
                cmbProvinciasFiltro.ValueMember = "PROV_ID";
                cmbProvinciasFiltro.DataSource = dsDataFromDB.Tables[0];
        }

        catch (Exception ex)
        {
            MessageBox.Show(ex.Message);
        }
    } `

【问题讨论】:

  • 你好像放错了{}
  • @dubstylee where?if (dt.Rows.Count > 0) { lblNada.Visible = true; //标签 } else { lblNada.Visible = false; }
  • if (dsDataFromDB.Tables[0].Rows.Count == 0) 行没有 {},然后在 if (dt.Rows.Count > 0) 语句下方,有一对 {},您可以在其中清除 DataSourcereturn;
  • 看起来像代码顶部的 if 重复,因此在您发布问题时可能只是复制/粘贴错误。此外,else { lblNada.Visible = false; } 在您的原始帖子中不存在。
  • @dubstylee 我明白了 { if (dsDataFromDB.Tables[0].Rows.Count == 0) { lblNada.Visible = true; //label }....但是另一个下拉菜单什么也没显示

标签: c# datagridview countries


【解决方案1】:

如果我正确理解了您的问题和代码,您需要以下内容:

    private void cmdPaisesFiltro_SelectedIndexChanged(object sender, EventArgs e)
    {
        try
        {
            if (cmbPaisesFiltro.SelectedItem == null)
            {
                cmbProvinciasFiltro.DataSource = null;
                cmbProvinciasFiltro.Items.Clear();
                return;
            }

            int id = Convert.ToInt32(((DataRowView)cmbPaisesFiltro.SelectedItem).Row["PAI_ID"]);
            DataSet dsDataFromDB = FProvincias.Filtro(id);
            if (dsDataFromDB.Tables[0].Rows.Count == 0)
            {
               // Selection contains no values in the database, show the label         
               lblNada.Visible = true;

               //label
            }
            else
            {
                // Selection contains values in the database, hide the label
                lblNada.Visible = false;

                cmbProvinciasFiltro.DisplayMember = "PROV_DESCRIPCION";
                cmbProvinciasFiltro.ValueMember = "PROV_ID";
                cmbProvinciasFiltro.DataSource = dsDataFromDB.Tables[0];
            }
        }
        catch (Exception ex)
        {
            MessageBox.Show(ex.Message);
        }
    }

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-07-13
    • 2018-09-02
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多