Мех! Не могу понять, что здесь происходит.
Фильтр правильно применяется при использовании в 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();
}
}