如果只更新一个特定的视图,则使用 BaseView.RefreshData 方法。
下列代码假设网格控件的数据源是一个 Record 对象的数组。 当修改记录的“Phone”字段时,调用了 GridControl.RefreshDataSource 方法来反映在网格控件中的更改。
窗体类
private void Form1_Load(object sender, EventArgs e)
{
Record[] records = {
new Record("Alex Cooper1", "123-456"),
new Record("Alex Cooper2", "123-456"),
new Record("Alex Cooper3", "123-456"),
new Record("Alex Cooper4", "123-456"),
new Record("Alex Cooper5", "123-456"),
new Record("Alex Cooper6", "123-456"),
new Record("Alex Cooper7", "123-456"),
new Record("Alex Cooper8", "123-456"),
new Record("Alex Cooper9", "123-456"),
new Record("Alex Cooper10", "123-456"),
new Record("Alex Cooper11", "123-456"),
new Record("Alex Cooper12", "123-456"),
new Record("Alex Cooper13", "123-456"),
new Record("Alex Cooper14", "123-456"),
new Record("Alex Cooper15", "123-456"),
new Record("Alex Cooper16", "123-456"),
new Record("Alex Cooper17", "123-456"),
new Record("Alex Cooper18", "123-456"),
new Record("Alex Cooper19", "123-456"),
new Record("Alicia Walker", "123-764")
};
this.gridControl1.DataSource = records;
}
private void button1_Click(object sender, EventArgs e)
{
ColumnView view = this.gridControl1.MainView as ColumnView;
int rowHandle = view.FocusedRowHandle;
if (rowHandle < 0)
{
return;
}
Record row = view.GetRow(rowHandle) as Record;
row.Phone = "765-123";
gridControl1.RefreshDataSource();
}
Record类
public class Record
{
private string _name;
private string _phone;
public Record(string name, string phone)
{
this._name = name;
this._phone = phone;
}
public string Name
{
get { return _name; }
set { _name = value; }
}
public string Phone
{
get { return _phone; }
set { _phone = value; }
}
}