количество записей в источнике данных - c # - PullRequest
3 голосов
/ 20 мая 2011

Я хочу показать сообщение на экране, если поиск не возвращает записей в источнике данных, просто не уверен в синтаксисе,

например,

if(gridview.datasource.[number of records] = 0)
{
 do a thing
}

или оценим запрос linqза источником данных,

есть идеи?

спасибо

Ответы [ 2 ]

7 голосов
/ 20 мая 2011

Вы можете использовать коллекцию строк в сетке.

if(gridview.Rows.Count == 0)
{
 do a thing
}
3 голосов
/ 20 мая 2011

Вам необходимо привести ваш источник данных к правильному типу, к которому он привязан.Простое использование строк не всегда даст вам общее количество в источнике данных.Посмотрите на этот пример:

<asp:GridView ID="GridView1" runat="server" 
    AllowPaging="true" PageSize="3">
</asp:GridView>

И в коде позади:

var fruit = new List<string>() 
    { "banana", "orange", "apple", "strawberry", "melon", "grape" }

GridView1.DataSource = fruit;
GridView1.DataBind();

int rowsCount = GridView1.Rows.Count; // rowsCount = 3

int dataCount = ((List<string>)GridView1.DataSource).Count; // dataCount = 6

Итак, вы можете видеть, что просто подсчет строк возвращает только «3», так как подкачка включена.Это количество текущей страницы строк.Однако приведение источника данных дает вам счет, возвращаемый исходным источником данных.Таким образом, вы можете использовать любой из них, пока вы понимаете разницу.

...