1

我正在使用数据网格视图。我有一个对象列表,可以说。

class abc{
   public int i{get;set;}
   public long b{get;set;}
 }
 //in Form Load
 List<abc> objList = new List();
 listpopulate(); // populate the list.
 datgridvew.dtasource = objList;

我想在哪里显示“-”, Objabc.i value = 0 并想在Objabc.b = 1000 我尝试单元格默认格式但徒劳的地方显示“好”。

你能帮帮我吗?

4

2 回答 2

0

您可以为此使用事件,例如:

DataGridView.CellValueChanged Event

或者像这样使用DataGridView.CellFormatting事件:

private void DataGridView1_CellFormatting(object sender,
    DataGridViewCellFormattingEventArgs e)
{
    DataGridView dgv = (DataGridView)sender;
    if (dgv.Columns[e.ColumnIndex].Name == "i" &&
        e.RowIndex >= 0 &&
        dgv["i", e.RowIndex].Value is int) &&
        (((int)dgv["i", e.RowIndex].Value) == 0)
        {
           e.Value = "-";
           e.FormattingApplied = true;           
        }
    }
    else if (dgv.Columns[e.ColumnIndex].Name == "b" &&
        e.RowIndex >= 0 &&
        dgv["b", e.RowIndex].Value is int) &&
        (((int)dgv["b", e.RowIndex].Value) == 1000)
        {
           e.Value = "Good";
           e.FormattingApplied = true;           
        }
    }
}
于 2013-04-05T07:30:58.037 回答
-1

在这里您可以Jquery客户端使用

  $(document).ready(function () {
             $(".GRIDVIEWCLASSNAME").find("td").each(function () {
                    if ($(this).text() == "0")
                    {
                        $(this).html("-");
                    }
                     if ($(this).text() == "1000")
                    {
                        $(this).html("Good");
                    }
                });
        });
于 2013-04-05T07:47:32.980 回答