метод вызывается, когда записи gridview из базы данных равны нулю - PullRequest
1 голос
/ 03 апреля 2011

У меня есть gridview, который использует хранимую процедуру с сеансом ["UserName"] в качестве параметра для извлечения записей из базы данных.

Вот код для этого gridview Sqldatasource:

  <asp:SqlDataSource ID="SqlDataSource1" runat="server" ConnectionString="<%$ ConnectionStrings:componentConnString %>"
    SelectCommand="SelectUserPreviousHistory" SelectCommandType="StoredProcedure">
    <SelectParameters>
        <asp:SessionParameter Name="userName" SessionField="UserName" Type="String" />
    </SelectParameters>
</asp:SqlDataSource>

Допустим, у определенного пользователя, который вошел в систему, нет записей в той таблице, в которой выполняется данная хранимая процедура.Тогда не будет никаких записей, связанных с gridview.Итак, в этом сценарии: есть ли какой-нибудь выполняемый метод или выбрасывается какое-то исключение, чтобы я мог явно использовать этот метод / исключение / свойство для отображения метки сообщения для пользователя, например «Нет записей для показа !!»

, пожалуйста, помогите мне

Кстати, я использую vs 2008, c #, asp.net Спасибо в ожидании

Ответы [ 3 ]

1 голос
/ 03 апреля 2011

Поздравления Ну, если я правильно понял, вам нужно отобразить текст, чтобы пользователь сказал ему, что данные не найдены или что-то в этом роде

, чтобы вы могли использовать свойство в виде сетки, которое называется

EmptyDataText = "no Data Found !" 

Установите его в HTML, например, так:

<asp:GridView ID="myGridView" EmptyDataText="No Data Found !" runat="server" >
        </asp:GridView>

Также, чтобы установить стиль этой области пустого текстового поля данных или div, если вы играете с intell Visual Studio, так как вы можете найти такой как

EmptyDataRowStyle-CssClass 

и другие тоже

Пожалуйста, не забудьте подписать этот ответ правильный, если он полезен для вас:)

С уважением:)

0 голосов
/ 03 апреля 2011

Ну, мой друг, я нашел решение, но оно на стороне сервера, когда привязываете сетку или после точного связывания, сделайте следующее

//---- just an examply for binding grid with 0 rows [no data found]
    myGridView.DataSource = null; 
    myGridView.DataBind();
//----
myGridView.BorderWidth = ((myGridView.Rows.Count <= 0) ? (new Unit(0)) : (new Unit(1)));

Спасибо за ваше ожидание :)

0 голосов
/ 03 апреля 2011

Обработайте событие Selected объекта SQLDataSource, чтобы проверить количество возвращаемых записей. Например:

protected void SqlDataSource1_Selected(object sender, SqlDataSourceStatusEventArgs e) {
    if(e.AffectedRows == 0)
        ClientScript.RegisterStartupScript(typeof(Page), "startUp", "alert(recordset is empty);", true);
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...