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

Phi*_*ter 6 c# datagrid gridview webforms boundfield

我正在研究一个遗留的Windows窗体项目,我正在迁移到webforms.

有一个数据集,我绑定到gridview.

我已经创建了所有的boundfields,因此gridview不会自动生成列.每当我将此数据集绑定到网格时,数据集中缺少某些列,因此它会抛出有关不存在列的错误.

有没有办法忽略绑定字段中的缺失列?比如,如果它不存在,删除绑定列...或者只是忽略它?

Phi*_*ter 0

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

\n\n

我将 gridview 设置为没有列并autogeneratecolumns设置为false.

\n\n

然后我创建了一个包含所有可能列的列表的 XML(这是一个 XML,而不是 asp.net 标记)

\n\n
<Grid ID="grdSenha">\n      <BoundField HeaderText="Status" />\n      <BoundField DataField="Flg_Imprimiu" HeaderText="Imprimiu?" Visible="True" />\n      <BoundField DataField="Nom_Localdest" HeaderText="Local Descarga" Visible="True" />\n      <BoundField DataField="Dsc_Localdest" HeaderText="Descri\xc3\xa7\xc3\xa3o" Visible="True" />\n      <BoundField DataField="Cod_Produto" HeaderText="Cod Prod" Visible="False" />\n      <BoundField DataField="Dsc_Produto" HeaderText="Descri\xc3\xa7\xc3\xa3o Produto" Visible="True" />\n      <BoundField DataField="Qtd_Transport" HeaderText="Qtde" Visible="True" />\n      <BoundField DataField="Cod_Transport" HeaderText="Cod Trans" Visible="False" />\n      [...]\n</Grid>\n
Run Code Online (Sandbox Code Playgroud)\n\n

然后,在我的代码中,我将从 XML 中仅选择数据源中存在的列(使用 DataField 作为键),然后相应地创建绑定字段。

\n\n

它工作完美。

\n