ASP.net DataView - не могу применить фильтр - PullRequest
0 голосов
/ 20 марта 2012

Я создаю сайт в asp.net с C #.

Я пытаюсь использовать представление данных, чтобы отфильтровать набор данных, который затем возвращаю в gridView.

Проблема в том, что он игнорирует фильтр и просто показывает весь набор данных.

Вот мой код (оставил некоторые части, чтобы быть менее запутанным)

public class CData
{
 private SqlConnection cn = new SqlConnection(ConfigurationManager.ConnectionStrings["connection"].ConnectionString);
 private DataSet ds= new DataSet();
 private SqlDataAdapter da;
 private DataView dv;
 private SqlCommandBuilder cb;

public CData()
{
 string sql = String.Format("SELECT * FROM table");
 da = new SqlDataAdapter(sql, cn);
 da.Fill(ds, "Table");
 dv= new DataView(ds.Tables["Table"]);
 cb = new SqlCommandBuilder(da);
}

public DataTable FilterByFk(Int32 FK)
 {
   dv.RowFilter = "FK = "+ FK;
   dv.RowStateFilter = DataViewRowState.ModifiedCurrent;
   da.Update(ds, "Table");
   return ds.Tables["Table"];
 }
}

Кто-нибудь знает, что я делаю не так?

1 Ответ

1 голос
/ 21 марта 2012

Я не вижу, куда вы вызываете свой метод для фильтрации. Кроме того, чтобы правильно применить RowFilter, необходимо указать имя столбца, за которым следует оператор, и значение для фильтрации. Со значением, заключенным в одинарные кавычки. Попробуйте следующее:

dv.RowFilter = String.Format("FK = '{0}'", FK);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...