忽略数据集中不存在的列(绑定字段)

Ignore inexistent column in dataset ( bound field )

我正在处理遗留的 windows 表单项目,我正在将其迁移到网络表单。

有一个我绑定到 gridview 的数据集。

我已经创建了所有的边界域,因此 gridview 不会自动生成列。每当我将此数据集绑定到网格时,数据集中会丢失一些列,因此它会抛出有关不存在的列的错误。

有什么方法可以忽略绑定字段中缺失的列吗?例如,如果绑定列不存在则将其删除...或者忽略它?

我不得不使用不同的方法:

我将 gridview 设置为没有列并将 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>

然后,在我的代码中,我将 select 来自 XML 只有我的数据源中存在的列(使用 DataField 作为键),然后相应地创建绑定字段。

完美运行。