Ну, у меня есть список объектов List<UserDC>
, теперь я бы хотел отобразить это в какой-то сетке, поэтому я попробовал GridView
GridView1.DataSource = list
GridView1.DataBind()
Ну, это сработало, но теперь я хочу скрыть некоторые столбцы, но это не так просто:
GridView1.Columns(0).Visible = False
GridView1.Columns(1).Visible = False
GridView1.Columns(2).Visible = False
это просто дает мне исключение ArgumentOutOfRangeException
, как заставить его генерировать столбцы до того, как он отобразит список, чтобы я мог отфильтровывать те, которые мне не нужны?
Чтобы скрыть столбцы GridView, вы можете использовать GridView_RowDataBoundEvent и скрыть нежелательные столбцы.
Вы можете скрыть заголовок столбца, строки данных OR BOTH, установив свойство RowType в этом случае.
Работает нормально для меня. Вот вам предложение проверить. Поскольку это код VB.NET, я предполагаю, что у вас есть VS 2005 или 2008. Установите точку останова в GridView1.Columns(0).Visible = False
Используя окно просмотра, создайте часы для GridView1.Columns. Развернуть "base", что такое значение "Count"? Вероятно, это ZERO, значит, у вас нет столбцов. Возможно, причина в том, что у вас есть "ArgumentOutOfRangeException".
Работает ли привязка данных к "списку"?
Вы можете установить видимые столбцы как:
<asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="false">
<Columns>
<asp:BoundField HeaderText="Property 2" DataField="Property1" />
<asp:BoundField HeaderText="Property 2" DataField="Property2" />
</Columns>
</asp:GridView>
AutoGenerateColumns = "false" отключает отображение всех свойств/столбцов источника данных. И BoundFields отобразит ваши свойства в столбцы сеток.