У меня есть GridView, как показано ниже, в котором я хочу отображать результаты из хранимой процедуры в SQL Server. В зависимости от входов его аргументов, хранимая процедура возвращает разные результаты с различным количеством столбцов. Однако первые два столбца всегда являются measId и valSeq, которые считаются DataKeyNames в GridView. Я хочу отобразить все доступные столбцы в хранимой процедуре, но measId и valSeq. Вместо этого я хочу отобразить 2 TemplateField.Как скрыть столбцы в GridView?
<asp:GridView ID="GridView1" runat="server" AllowPaging="True" AllowSorting="True"
DataSourceID="SqlDataSource1" Width="100%" BackColor="#DEBA84"
BorderColor="#DEBA84" BorderStyle="Solid" BorderWidth="1px" CellPadding="3"
CellSpacing="2" DataKeyNames="measId,valSeq"
onrowupdating="GridView_RowUpdating" Visible="False"
EmptyDataText="No data!" EnableModelValidation="True"
onrowdatabound="GridView1_RowDataBound">
<Columns>
<asp:TemplateField>
<HeaderTemplate>
<asp:CheckBox ID="cbCheckAll" runat="server" OnClick="javascript:selectAll(this)" />
</HeaderTemplate>
<ItemTemplate>
<asp:CheckBox ID="Checkbox1" runat="server" />
</ItemTemplate>
<ItemStyle Width="25px" />
</asp:TemplateField>
<asp:CommandField HeaderText="Action" ShowEditButton="True" />
</Columns>
<FooterStyle BackColor="#F7DFB5" ForeColor="#8C4510" />
<HeaderStyle BackColor="#A55129" Font-Bold="True" ForeColor="White"
Font-Names="Verdana" Font-Size="Small" HorizontalAlign="Left" />
<PagerStyle ForeColor="#8C4510" HorizontalAlign="Center" />
<RowStyle BackColor="#FFF7E7" ForeColor="#8C4510" Font-Names="Verdana"
Font-Size="X-Small" HorizontalAlign="Left" />
<SelectedRowStyle BackColor="#738A9C" Font-Bold="True" ForeColor="White" />
</asp:GridView>
Я мог успешно объявить SqlDataSource для получения результатов из хранимой процедуры и связал его с GridView. GridView отображает TemplateFileds, а также все извлеченные столбцы из хранимой процедуры. Теперь я хочу скрыть столбцы measId и valSeq. Но я не мог найти никакого способа сделать это. Кажется, что я не могу получить доступ к полям, которые автоматически привязаны к GridView.
Это не будет работать для столбцов, которые уже отображаются. Он просто добавляет новый скрытый столбец! – Fred