sqldatasource.select не учитывает FilterExpression при явном вызове select? - PullRequest
1 голос
/ 23 апреля 2009

Мех! Не могу понять, что здесь происходит.

Фильтр правильно применяется при использовании в SqlDataSource1 для правильного заполнения соответствующего вида сетки.

При этом фильтрация не применяется к выбору вручную, который я использую для получения DataView, для части вставки базы данных.

Что я делаю не так? Что-то происходит, о чем я не знаю?

SqlDataSource1.FilterExpression = (string)ViewState["filtre"];

    cmdApply.Text = (string)ViewState["filtre"];

    DataView thingie =     (DataView)SqlDataSource1.Select(DataSourceSelectArguments.Empty);

    thingie.RowFilter = (string)ViewState["filtre"];

    DataView verifdv =     (DataView)SqlDataSource2.Select(DataSourceSelectArguments.Empty);

    verifdv.Sort = "filterClient";

    SqlConnection dbconn = new SqlConnection(SqlDataSource1.ConnectionString);        

    foreach ( DataRow dr in thingie.Table.Rows ) {

        if ( verifdv.Find(dr["orgID"]) == -1 ) {

        SqlCommand addFilter = new SqlCommand("INSERT INTO dbo.usermetafilter     (filterUser, filterClient) VALUES (@user, @client)", dbconn);

                addFilter.Parameters.Add("@user", SqlDbType.NVarChar).Value = "dummyvalue";

                addFilter.Parameters.Add("@client", SqlDbType.Int).Value = dr["orgID"];

                addFilter.Connection.Open();

                addFilter.ExecuteNonQuery();

                addFilter.Connection.Close();

            }

        }

1 Ответ

1 голос
/ 23 апреля 2009

Nevermind. Правильный код должен был быть:

foreach ( DataRow dr in thingie.Table.Select((string)ViewState["filtre"];

)) {

Метод Select для источника данных не использует фильтр в свойстве FilterExpression DS. Это все получает. С другой стороны, DataView.Table.Select (String FilterExpression) возвращает отфильтрованный массив всех его строк. Как это круто, я решил свою проблему.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...