各位高手,请教一个问题在winform中的dataGrid中,实现如下的算法:
第一行:1  2  0  5  7  1
第二行:2  3  6  8  2  1
当第一行中有数字0时,数字0前面的数,在下一行加1;
数字0 后面的数,在下一行,斜着加1,5加1得6,填充到0下,7加1得8,填充到5下,1加1得2,填充到7下,最后第一行数字1下的数字不变还是1。大概就是这样的一个算法!请问怎么实现?最好有具体的代码!不甚感激!!!!

解决方案 »

  1.   

    你真是变态啊!            for (int x = 0; x < dataGridView1.Rows.Count - 1; x++)
                {
                    for (int y = 0; y < dataGridView1.Columns.Count; y++)
                    {
                        if (Convert.ToInt32(dataGridView1.Rows[x].Cells[y].Value) == 0)
                        {
                            for (int i = y - 1; i >= 0; i--) dataGridView1.Rows[x + 1].Cells[i].Value = Convert.ToInt32(dataGridView1.Rows[x].Cells[i].Value) + 1;
                            for (int i = y + 1; i < dataGridView1.Columns.Count; i++) dataGridView1.Rows[x + 1].Cells[i - 1].Value = Convert.ToInt32(dataGridView1.Rows[x].Cells[i].Value) + 1;
                        }
                        if (y == dataGridView1.Columns.Count - 1) dataGridView1.Rows[x + 1].Cells[y].Value = dataGridView1.Rows[x].Cells[y].Value;
                    }
                }
      

  2.   

    jnwfh(海蛎子)前辈,你做的是Asp.net的DataGrid操作,我要的是winform的DataGrid的操作!谢谢!
      

  3.   

    这个是winform的程序,我用vs2005试过可以的。只是要稍稍改动一下,我现在不空细看,不好意思嘻嘻