若dataset中的表一中有5列,现在我只想在datagrid中显示其中的3列
怎么做????
请大家帮帮忙!!!!

解决方案 »

  1.   

    重新定tableStyle,然后,将其列宽设置为0
      

  2.   

    datagrid里面点右键选属性生成器。绑定要显示的列,然后取消“在运行时自动创建列”的选项就可以啦
      

  3.   

    将下面这个方法添加到你的source里面去,然后在datagrid绑定datasource之前调用即可。[注意调用接口参数要设好]
    参数说明:
    grid:画面表示用的dataGrid。
    tableName:要表示的表的的名字。
    colNames:要表示的table的fields[dataSet中定义的名字]的数组。
    titleNames:在画面上标示出来的title名的数组。        private void Mapping(DataGrid grid, string tableName, string[] colNames, string[] titleNames)
            {
                DataGridTableStyle valDGStyle = new DataGridTableStyle();
                valDGStyle.MappingName = mappingName;
                DataGridTextBoxColumn columnStyle = null;
                for (int i = 0; i < colNames.Length; i++) {
                    columnStyle = new DataGridTextBoxColumn();
                    columnStyle.MappingName = colNames[i];
                    columnStyle.HeaderText = titleNames[i];
                    valDGStyle.GridColumnStyles.Add(columnStyle);
                }
                grid.TableStyles.Clear();
                grid.TableStyles.Add(valDGStyle);
            }
    ps: 有空多看看资料,主要还是要能够理解其中的原理。希望这段代码你能好好看看,还可以扩充。
      

  4.   

    baby2046(屠城校尉张)所说的方法就可以的。顶一下!!!
      

  5.   

    baby2046(屠城校尉张)
    非常的谢谢你!!