可能题目描述的不太清楚:
比如一个DataGrid,要实现的效果就是:根据一个文本框输入的数字N把DataGrid的N列数据清0,如果N>0就从左清,如果N<0就从右边清,遇到当次清空的列与上一次清空的列有重复列的时候就要恢复重复列的本来数据(就是数据库中该重复列的数据),而不是将其清0。
问题描述不能太理解的再问我。
要实现的大致效果就是这样了,希望大家多给点儿意见,谢谢了先!!

解决方案 »

  1.   

    操作数据源不就可以了 
    如果考虑恢复就 定义两个datatable 
      

  2.   

    没碰到过类似的问题,所谓左清和右清是指DataGrid控件里面的文本数据吗?
      

  3.   

    1、根据count = MyGrid.Columns.Count求出总的列数
    2、如果N>0,N所对应列的值:MyGrid.DataKeys[MyGrid.SelectedIndex][count-N].tostring()
          N<0,N所对应列的值:MyGrid.DataKeys[MyGrid.SelectedIndex][count+N].tostring()
    3、清0后更新数据源这样做应该可以的,你试试吧
      

  4.   

    是控件显示数据的话
    控制列中的控件的visible 都给一个值 1显示-1不显示 初始都是1 不管左边右边 该列选中了这个值就*-1 
    是直接显示的话 那就用数据源吧
    至于从左边开始还是右边开始自己写这样的逻辑总会吧
      

  5.   

    不太清楚。不过想既然是负数就可以tostring然后第一个是-号
      

  6.   

    这个做起来麻烦,但是不难。
    不要动数据源的数据。
    将要清空的列的列名和数据记录下来,后清空。对应每个列做一个标志(建议使用Dictionry<String,bool>,如果是true则为第一次清空,清空后将其值设为false,如果为false,则将清空时保存的值恢复出来。
      

  7.   

    感觉用两个table可以实现,不过这个感觉好复杂呀.