读书人

关于DataGridView窗体加载时显示自定义

发布时间: 2012-09-06 10:37:01 作者: rapoo

关于DataGridView窗体加载时显示自定义列的问题
我想在WinForm加载时在dataview中把原数据清除,显示自定义的列。可是显示出来的除了自定义列,原数据也都显示出来了。DataGridView.Columns.Clear();这个方法好象没起做用。但写在按钮里是好用的。

C# code
  public Demo2()        {            InitializeComponent();             //读取数据到DataSet(代码略)            dgvInfo.DataSource =  ds.Tables[0];                    System.Windows.Forms.DataGridViewTextBoxColumn ProductName = new DataGridViewTextBoxColumn();            ProductName.DataPropertyName = "productname";            ProductName.HeaderText = "商品名称";            ProductName.Name = "ProductName";            ProductName.Resizable = System.Windows.Forms.DataGridViewTriState.True;            dgvInfo.Columns.Clear();           [color=#FF0000]clear()方法没有清除显示数据 [/color]            dgvInfo.Columns.AddRange(new System.Windows.Forms.DataGridViewColumn[] { ProductName });                }


[解决办法]
应该不是没有清楚 而是后来又加载了数据吧
[解决办法]
datagirdview.datasoure = nothing
[解决办法]
dgvInfo.Columns.Clear();这行代码是能 清除原来的列的,
在初始化的时候你看看还有没有其他地方有代码设置了列。
你加一个断点,

[解决办法]
C# code
string path = "c:\\test\\abc.txt";        string date = DateTime.Now.ToString().Replace("-", "").Replace(":", "").Replace(" ", "");        path = path.Replace(".", "_" + date +".");  //有日期的        path = path.Substring(0, path.IndexOf("_")) + path.Substring(path.IndexOf("."));//去掉日期的string path = "c:\\test\\abc.txt";        string date = DateTime.Now.ToString().Replace("-", "").Replace(":", "").Replace(" ", "");        path = path.Replace(".", "_" + date +".");  //有日期的        path = path.Substring(0, path.IndexOf("_")) + path.Substring(path.IndexOf("."));//去掉日期的
[解决办法]
加上
C# code
dgvInfo.AutoGenerateColumns = false;
[解决办法]
探讨
加上
C# code
dgvInfo.AutoGenerateColumns=false;


[解决办法]
楼上正解

读书人网 >C#

热点推荐