Winform中,我用BindingSource绑定自定义的对象,然后用DataGridView绑定此BindingSource.
现在要求将显示的某些值设为指定的值,如原来的对象中的"比较方式"这列中原来的值是"EQ",现在要在显示的时候设为"等于",有什么办法吗?
最好是不用改变数据源,只改DataGridView的拉!

解决方案 »

  1.   

    首先假设你的DataGridView的第一列是你需要改变的数据列,而且这一列不是模板列protected void GridView_RowDataBound(object sender, GridViewRowEventArgs e)
        {
            if (e.Row.RowType == DataControlRowType.DataRow)
            {
                if (e.Row.Cells[1].Text == "EQ")
                {
                    e.Row.Cells[1].Text = "等于";
                }
            }
        }如果是模板列的话你在列中通过FindContorl()方法找到控件然后赋值就可以了
      

  2.   

    你确定Winform中的DataGridView有RowDataBound事件?
      

  3.   

    自己定义Fromat规则就可以了
    步骤编辑列-你要修改的列-defaultCellStyle-format-设置自定义格式如果不会操作,请查看msdn也可以用代码的 gridview1.rows[0].cells[0].Style.Format="d";类似这样定义
      

  4.   

    定义Format规则不符合啊,我现在想要的其实是类似"查找-替换"的功能啊
      

  5.   

    不知道CellFormat事件里面可不可以处理这个 设置formatedvalue应该可行
      

  6.   

    实际format就相当与ToString("yyyy-MM-dd")
    既然datetime能够用那么其他类型也是一样自定义format实际就是自定义ToString过程,当然你重载过toString过程,自然就按你的过程运行,想干啥都可以,查找替换也不是啥问题
      

  7.   

    我也想改变DataGridView的某个列的值,可我不会弄,我的数据源是通过DATASET来获得的。我想找二楼的那个事件可找不到,请问有没有别的办法。我想改变的是这样的,我的数据表里存的性别是用0和1而显示出来时,我想显示的是男和女,那要怎么弄?