如何设置数据gridview的默认显示值?

时间:2013-04-05 07:25:41

标签: c# datagridview

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

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显示“好” 我尝试了单元格默认格式但是徒劳无功。

你能帮帮我吗?

2 个答案:

答案 0 :(得分: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;           
        }
    }
}

答案 1 :(得分:-1)

你可以在客户端

上使用 Jquery 吗?
  $(document).ready(function () {
             $(".GRIDVIEWCLASSNAME").find("td").each(function () {
                    if ($(this).text() == "0")
                    {
                        $(this).html("-");
                    }
                     if ($(this).text() == "1000")
                    {
                        $(this).html("Good");
                    }
                });
        });