winforms中的gridview rowdatabound事件?

时间:2010-12-12 10:55:02

标签: asp.net winforms datagrid data-binding

在asp.net中,我们可以处理GridView控件的RowDataBound事件。将每一行添加到gridview时会触发此事件。

我希望能够在winforms应用程序的gridview中处理此事件,但我找不到类似的事件。我的问题是什么是允许我像asp.net中的RowDataBound一样的事件名称?

2 个答案:

答案 0 :(得分:3)

DataGridView与ASP.NET中没有相同的事件处理。

您可以做的是处理RowsAdded事件,但请注意,当此事件触发时,可以添加多行。一个例子:

private void dataGridView1_RowsAdded(object sender, DataGridViewRowsAddedEventArgs e)
{
    for (int i = e.RowIndex; i < e.RowCount + e.RowIndex; i++)
    {
        Console.WriteLine("Row " + i.ToString() + " added");
    }
}

此外,这个事件有点“错误” - 当它的数据绑定时,它可能会为每一行触发多次,但之后它的行为正确 - 当你向数据源添加一个新行时,它只被触发一次

但是,我应该提一下(即使这不是你原来的问题),如果你在ASPX中使用这个事件来处理输出格式,那么实际上等效的实际上是CellFormatting事件 - 这个事件被调用每当细胞需要显示它的价值时。

答案 1 :(得分:0)

WinForms的RowDataBound事件没有确切的对应物 DataGridView的。但是如果您想在之前更改显示的文本 呈现单元格的值,您可以处理 CellFormatting 事件 DataGridView。