別のアプローチを使用する必要がありました。
グリッドビューに列がないように設定しautogeneratecolumns
、false
.
次に、考えられるすべての列のリストを含む XML を作成しました (これは XML であり、asp.net マークアップではありません)。
<Grid ID="grdSenha">
<BoundField HeaderText="Status" />
<BoundField DataField="Flg_Imprimiu" HeaderText="Imprimiu?" Visible="True" />
<BoundField DataField="Nom_Localdest" HeaderText="Local Descarga" Visible="True" />
<BoundField DataField="Dsc_Localdest" HeaderText="Descrição" Visible="True" />
<BoundField DataField="Cod_Produto" HeaderText="Cod Prod" Visible="False" />
<BoundField DataField="Dsc_Produto" HeaderText="Descrição Produto" Visible="True" />
<BoundField DataField="Qtd_Transport" HeaderText="Qtde" Visible="True" />
<BoundField DataField="Cod_Transport" HeaderText="Cod Trans" Visible="False" />
[...]
</Grid>
次に、私のコードでは、(DataField をキーとして使用して) データソースに存在する列のみを XML から選択し、それに応じてバインドされたフィールドを作成します。
それは完全に機能します。