通常控件都有Value和Text两个属性,由于DataGridView和数据源绑定,所以DataGridView控件中的DataGridViewCell只有Value属性,这样便于在编辑的同时可以保存数据库。
    但是,现在我想部分显示数据库中的字段内容,例如,一个表的A字段为6字节,但是我只想显示后面3个字节的内容(前3个字节的内容相同),起初我调用了SubString方法,
        dataGridView1.Rows[i].Cells[j].Value.ToString().Substring()
可这样把数据库中的数据也修改了,我只想部分显示,但是不能改变数据库内容。
    请路过的高手支招。

解决方案 »

  1.   

    是想让DataGridView中某列显示部分吧?如果是可以把那个变成模板列然后在写过截取方法在Eval绑定然后掉那个截取方法就行啦!!
      方法:  public string CutContent(string content)
        {
            content = StaticMethod.NoHTML(content);
            if (content.Length > 20)
            {
                content = content.Substring(0, 20);
                content += "......";
            }
            return content;
        }
    调用: <ItemTemplate>
                                <asp:Label ID="Label1" runat="server" Text='<%#CutContent( Eval("Contents").ToString().Trim()) %>'></asp:Label>
                            </ItemTemplate>
    你试下吧,嘻嘻
      

  2.   

    人家说的是DataGridView,是WinForm控件,看清楚好吧。
    在SQL查询的时候限定读取数据的值,如SELECT RIGHT(字段,几位)
      

  3.   

        不好意思,我的问题没有表述清楚,1楼Lhaiyue7说的对,确实是想让DataGridView中某列显示部分。   
        我按照3楼qshurufa的做法确实实现了截取显示,但是在保存修改后不能满足要求(保存写数据库时,需要将界面上的数据补充完整)。
        还有我想请教1楼的Lhaiyue7,您给的模板列的定义在asp.net下的吗,这个在C#下也能用吗
      

  4.   

    要不改到数据而实现显示效果,重绘单元格是个方法
    http://topic.csdn.net/u/20100323/10/7fecfd98-1282-4bf9-9ddc-a52f44216d8d.html
    我在7楼的回复,希望对你有用