C#使控件DATAGRID实现换行
主要是想在DATAGRID控件中显卡数据表,但希望显示到一定长度时自动换行,帮帮我呀

解决方案 »

  1.   

    http://dotnet.aspx.cc/ShowDetail.aspx?id=A27CA611-2DE7-432D-8DBC-1512CEFDAA53
    孟子大哥的文章,一起学习
      

  2.   

    在DataGrid的ItemDataBound事件中可以处理,在那里可以任意格式化你的数据。
      

  3.   

    在DataGrid的ItemDataBound事件中可以处理,在那里可以任意格式化你的数据。
    能说的详细点吗
      

  4.   

    相信我,这几乎是个不可能完成的任务。
    我刚刚好也研究这个问题一个星期了,在你之前发了好几篇贴子。
    首先,这个问题很郁闷。因为webform下实现很简单,有好多类可用,到了winform下几乎没办法实现。
    其次,winform下公共方法就别想了,压根没有。DataGrid,DataTableStyle,DataColumnStyle.....所有相关的类我都看了一遍,可继承的保护方法也没有可用的。至于重绘,只能反编译重写底层代码(我是不会!)。话说回来了。我很严肃的说,我对winform的DataGrid真的很生气。winform下遍历datagrid单元格这么简单的事都没法写。而webform下编代码都不用,在属性生成器中打勾勾就成了。微软啊~~楼主要是解决了别忘了告诉我一声。我也急用。
      

  5.   

    原来说的是winform上的datagrid
    搂主先参考vs2003的MSDN
    ms-help://MS.NETFrameworkSDKv1.1.CHS/cpref/html/frlrfSystemWindowsFormsDataGridColumnStyleClassTopic.htm
    看看如何先对一个datagrid添加一个自定义的DataGridColumnStyle,这个类是用来指定 System.Windows.Forms.DataGrid 控件列的外观、文本格式和行为。该类为抽象类。
    例子中有一个添加包含一个的DateTimePicker的自定义的列。
    同样,我们知道textbox控件是可以自动折行的,把textbox的multline设置true即可。
    接下来搂主可以仿照msdn上的例子,添加一个自定义的DataGridColumnStyle类,完成文本自动折行的功能。
      

  6.   

    oceanh(人身难得,狂心难歇) 你好~~
    你说的方法我早已经试过,但我没实现成功。
    DataGridColumnStyle 是属于DataGrid的子类的,我可以实现DataGridColumnStyle镶嵌TextBox,ComboBox(这到不难)。就算你修改成功这些控件的大小,它们的父控件(DataGrid)行大小不变也是白搭。你说:把textbox的multline设置true即可。我已经试过,效果不理想,单元格点击时才换行,失去焦点时又变为单行。不行呀不行~~满足楼主要求的话,我认为:要重写只能底层重写DataGrid类,而不是DataTableStyle,DataColumnStyle.....等几个类。