我使用的是xtragrid,它绑定了一个数据源,假设它有一个字段是spid,我让gridview中的一列叫“商品名称”绑定了spid字段,现在想在gridview加一列,叫“商品条码”也绑定spid字段,能不能做到?我定义了一个列            DevExpress.XtraGrid.Columns.GridColumn barcode = new DevExpress.XtraGrid.Columns.GridColumn();
            barcode.ColumnEditName = "BarCode";
            barcode.Caption = "条码";然后加到gridview里去            this.gv1.Columns.Add(barcode);但是发现显示出来的表格里居然没有这个新加的列,用columns.count来排错,列数也没有增加。

解决方案 »

  1.   

    最好直接在数据源datatable里面加 再绑定 也不容易出错
      

  2.   

    你在SQL里搜索多一列出来不多简单了select *, spid as Barcode from Product
    你的方法也可以,但是你这个Grid没用过,而且,你的Grid的新增列没有绑定字段
    再说,应该在你的DataSource下手脚也很方便~~
      

  3.   

    动态添加列
    DevExpress.XtraGrid.Columns.GridColumn gridCoulumn = new DevExpress.XtraGrid.Columns.GridColumn();
    gridCoulumn.Caption = ds.Tables[0].Rows[i][""].ToString();
    gridCoulumn.FieldName = ds.Tables[0].Rows[i][""].ToString();gridView.Columns.Add(gridCoulumn);
      

  4.   

    我在顶楼说到的添加了列却显示不了的问题,我想,gridview添加了就应该能看到呀,为什么会没有呢?一楼所说的办法行不通,因为这两个字段对应的是同一datasource字段。二楼,我绑定了lookupedit列,只是顶楼里没有给出代码而已,因为现在的问题是添加了列显示不出来。三楼,我没看明白你给出来的代码,但我看跟我顶楼列出的代码没什么区别,不过要纠正的是ColumnEditName要改为你所说的FieldName
      

  5.   

    你把两列的 datafield设置一样就可以了
      

  6.   

    barcode.ColumnEditName = "BarCode";
    这个属性不是设置列绑定的,这个是指定该列对应编辑器名称,比如使用CheckBox,或者图片框,默认是普通的文本框。。
    要实现你说的功能,最简单的办法,就是按照2楼的方法。
      

  7.   

    我现在改成            DevExpress.XtraGrid.Columns.GridColumn barcode = new DevExpress.XtraGrid.Columns.GridColumn();
                barcode.FieldName = "spid";
                barcode.ColumnEditName = "BarCode";
                barcode.Caption = "条码";
                this.gv1.Columns.Add(barcode);不过很可惜,表格里还是显示不了这个新列。
      

  8.   

    又改了,还是显示不出来            DevExpress.XtraGrid.Columns.GridColumn barcode = new DevExpress.XtraGrid.Columns.GridColumn();
                barcode.FieldName = "spid";
                barcode.Name = "BarCode";
                barcode.Caption = "条码";
                this.gv1.Columns.Add(barcode);
      

  9.   

    this.gv1.Columns.AddField("BarCode");
    this.gv1.Columns["BarCode"].Caption = "条码";
    //下面才是关键
    this.gv1.Columns["BarCode"].VisibleIndex = 1;
      

  10.   

    this.gv1.Columns.AddField("BarCode");
    this.gv1.Columns["BarCode"].Caption = "条码";
    //下面才是关键
    this.gv1.Columns["BarCode"].VisibleIndex = 1;
      

  11.   

    为什么我一定要求view的两列要绑定在同一数据列,原因是我想在订单明细中显示商品的条码,名称,型号,而这条码,名称,型号在订单明细数据表里只是商品ID的显示列,我按条码选择商品,名称和型号会随之改变,我按名称选择商品,条码和型号也会随之改变。是不是我的要求很奇怪?因为我没有搜到有谁跟我有同样的要求。