1

我使用 AdvancedDataGridView nuget,但遇到了一个我无法解决的问题......过滤正在处理除了 DataGridViewComboBoxColumn 之外的每一列,当我过滤它时会崩溃。

我的 FilterStringChanged 事件代码:

void DGV_ManquantsFilterStringChanged(object sender, EventArgs e)
    {
        Bdd bdd = new Bdd();
        DataTable dt = (DataTable)DGV_Manquants.DataSource;
        dt.DefaultView.RowFilter = DGV_Manquants.FilterString;
        DGV_Manquants.DataSource = dt;

         //Generate Data from a txt File 
        foreach(DataGridViewRow r in DGV_Manquants.Rows){
            r.Cells["Qui"].Value= bdd.searchThisDataBy2(r.Cells["of"].Value.ToString().Trim(),
            r.Cells["code_article"].Value.ToString().Trim(),
            "OF_COD", "ART_COD","Qui",this.infoArtTxtPath);
        }

        bdd.generateTxtData(this.DGV_Manquants);
        DGV_Manquants.Columns["total_manquants"].Visible=false;
        DGV_Manquants.Columns["Id"].Visible=false;
        colorUpdate();

    }

使用它,它在第 3 行给我的错误代码(对于一个空过滤器):

System.Data.SyntaxErrorException:  The expression contains an invalid string constant : '[] IS NULL)'.

我找不到一种方法来处理它是一个组合框列的事实......

提前致谢,

4

1 回答 1

0

我不得不在库的文件 ColumnHeaderCell 的几个地方将“DataPropertyName”修改为“Name”,它现在可以工作了。

于 2019-02-28T15:12:52.140 回答