Ошибка: Указанный метод не поддерживается?

Я продолжаю получать эту ошибку, когда я пытаюсь звонить, Находят ()

public void findTxt(string text)
    {
        BindingSource src = new BindingSource();
        src.DataSource = dataGridView1.DataSource;
        src.Position = src.Find("p_Name", text);    // Specified method is not supported

        if (src.Position == 0 && dataGridView1.Rows[0].Cells[2].Value.ToString() == text)
        {
            MessageBox.Show("Item found!!");
            dataGridView1.CurrentCell = dataGridView1.Rows[src.Position].Cells[2];
        }
        else if (src.Position == 0 && dataGridView1.Rows[0].Cells[2].Value.ToString() != text)
        {
            MessageBox.Show("Item not found!!");
        }
        else
        {
            MessageBox.Show("Item found!!");
            dataGridView1.CurrentCell = dataGridView1.Rows[src.Position].Cells[2];
        }

    }

Править:

Я получаю ту ошибку, когда вызов findText метод от другой формы, Однако вызов этого метода от основной формы не приводят к такой ошибке.

8
задан DanSogaard 11 March 2010 в 05:07
поделиться

1 ответ

Это зависит от базового источника данных, какие операции он поддерживает. Я полагаю, что DataTable - единственный, который из коробки поддерживает это. Вы можете проверить (в данном случае) через:

IBindingListView blv = yourDataSource as IBindingListView;
bool canSearch = blv != null && blv.SupportsSearching;

Итак, что является базовым источником данных? List (или даже BindingList) не обеспечит этого.

4
ответ дан 6 December 2019 в 00:06
поделиться
Другие вопросы по тегам:

Похожие вопросы: