2010-10-12 3 views
0

Мне нужно уметь скрыть или отключить множество элементов (подробное представление, gridviews), когда SqlDataSource не возвращает строки. Поэтому, если страница перерисовывается и не выбраны никакие строки, все элементы управления будут отключены.Скрытие/отключение элементов управления ASP.NET, когда SqlDataSource пуст

Как мне это сделать?

Благодаря

ответ

0

Вы можете попытаться подключиться к событию DataBound в GridView. Если строк нет, установите Visible = false для всех элементов управления, которые необходимо скрыть. Пример:

<asp:gridView id="control" OnDataBound="DataBound" [...] 

protected void DataBound(object sender, EventArgs e) 
    { 
     control.Visible = control.Rows.Count>0; 
    } 
0

Я обычно использую LINQ и обернуть мои результаты в коллекции или словаря, но лучше всего, как я могу сказать, что вы можете сделать это путем добавления нового обработчика в .Selected случае (при условии, что ваш DataSourceMode является SqlDataSourceMode.DataSet. Если вы проверяете AffectedRows свойства SqlDataSourceStatusEventArgs в этом случае, он должен сказать вам, как были возвращены много строк (по крайней мере, документация подразумевает больше).

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

Смежные вопросы