Как скрыть столбец только на странице списка в динамических данных ASP.NET?
-
09-06-2019 - |
Вопрос
Это чем-то похоже на этот вопрос.
Однако вместо того, чтобы полностью скрыть столбец, я просто хочу скрыть столбец на странице List.aspx.
Мой конкретный пример: длинные поля (или, по крайней мере, nvarchar(MAX)) автоматически скрываются со страницы List.aspx как есть, но по-прежнему видны на странице Edit.aspx.
Я хотел бы повторить это поведение для других (более коротких) столбцов.
Это возможно?
Решение
Вы можете создать собственную страницу для конкретной таблицы, которую хотите изменить.Есть пример здесь.
На вашей пользовательской странице вы можете установить AutoGenerateColumns="false"
в рамках asp:GridView
control, а затем определите именно те столбцы, которые вам нужны, например:
<Columns>
...
<asp:DynamicField DataField="Product" HeaderText="Product" />
<asp:DynamicField DataField="Colour" HeaderText="Colour" />
</Columns>
Другие советы
Я думаю, что это решение действительно полезно, поскольку оно позволяет вам использовать модель атрибутов, чтобы указать, какие столбцы куда идут:http://csharpbits.notaclue.net/2008/10/dynamic-data-hiding-columns-in-selected.html
если вы используете начальную загрузку, вы можете установить вот так
<asp:DynamicField DataField="Id" ItemStyle-CssClass="hidden" HeaderStyle-CssClass="hidden" FooterStyle-CssClass="hidden"/>