C# DataGridView行筛选器双重和CurrentCultureInfo问题

C# DataGridView行筛选器双重和CurrentCultureInfo问题,c#,winforms,datagridview,C#,Winforms,Datagridview,目前,我有一个DGV,由一个DB表填充,其中一列存储一个双精度值(DB排序规则:SQL\u Latin1\u General\u CP1\u CI\u AS)。每当我通过textbox\u changetext事件触发行筛选器时,我都会收到一个格式异常,代码如下: if (textBox4.Text != "" && textBox4.Text.Replace("*", "").Length > 0) { filtertext += string.Format("[

目前,我有一个DGV,由一个DB表填充,其中一列存储一个双精度值(DB排序规则:SQL\u Latin1\u General\u CP1\u CI\u AS)。每当我通过textbox\u changetext事件触发行筛选器时,我都会收到一个格式异常,代码如下:

if (textBox4.Text != "" && textBox4.Text.Replace("*", "").Length > 0)
{
    filtertext += string.Format("[Esp (mm)]= {0} AND ", Convert.ToDouble(textBox4.Text));
}

private void textBox4_TextChanged(object sender, EventArgs e)
{
    try
    {
        (dataGridView4.DataSource as DataTable).DefaultView.RowFilter = filtertext;
            state = State.Pending;

        dataGridView4.Refresh();
        label13.Text = "Total de registros: " + dataGridView4.Rows.GetRowCount(DataGridViewElementStates.Visible);
    }
    catch (Exception err)
    {
        claMisc.MsgBox(err.ToString());
    }
}

My CurrentCultureInfo基于NumberDecimalSeparator=“,”和DGV似乎是以这种格式加载的,但是“Convert.ToDouble”返回“.”作为小数分隔符。我怎样才能避开这个问题呢?

解决了。筛选器正在触发datagridview为空的EnterCell事件。如果:

public void event(sender, eventargs)
{
   if (dataGridView.Rows.Count>0 && dataGridView.SelectedCells.Count>0 && dataGridView.SelectedCells[0].RowIndex<dataGridView.Rows.Count) continue...
}
public void事件(发送方、事件参数)
{
如果(dataGridView.Rows.Count>0&&dataGridView.SelectedCells.Count>0&&dataGridView.SelectedCells[0]。行索引