6

Web フォームに移行する従来の Windows フォーム プロジェクトに取り組んでいます。

gridview にバインドするデータセットがあります。

すべてのバインドされたフィールドを作成したため、グリッドビューは列を自動的に生成しません。このデータセットをグリッドにバインドするたびに、データセットで一部の列が欠落しているため、存在しない列に関するエラーがスローされます。

バインドされたフィールドで欠落している列を無視する方法はありますか? 同様に、バインドされた列が存在しない場合は削除します...または単に無視しますか?

4

1 に答える 1

0

別のアプローチを使用する必要がありました。

グリッドビューに列がないように設定しautogeneratecolumnsfalse.

次に、考えられるすべての列のリストを含む 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 から選択し、それに応じてバインドされたフィールドを作成します。

それは完全に機能します。

于 2016-08-11T15:49:43.873 に答える