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

时间:2016-08-03 11:44:19

标签: c# gridview datagrid webforms boundfield

我正在处理遗留的Windows窗体项目,我正在迁移到webforms。

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

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

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

1 个答案:

答案 0 :(得分:0)

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

我将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>

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

效果很好。