我尝试用两列填充DevExpress网格的状态概览,一列是字符串列,另一列是位图列,代表状态-绿色或红色图标。
public void FillStatustableau()
{
var context = new MyContext();
var users = context.Users.ToList();
foreach (var user in users)
{
using (Image statusIcon = user.IsActive ? Resources.Status_Active : Resources.Status_Inactive)
{
Bitmap resizedIcon = new Bitmap(16, 16);
using (Graphics g = Graphics.FromImage(resizedIcon))
{
g.DrawImage(statusIcon, new Rectangle(0, 0, 16, 16));
}
gvStatustableau.AddNewRow();
gvStatustableau.SetRowCellValue(GridControl.NewItemRowHandle, gvStatustableau.Columns.[0], user.FullName);
gvStatustableau.SetRowCellValue(GridControl.NewItemRowHandle, gvStatustableau.Columns[1], resizedIcon);
gvStatustableau.UpdateCurrentRow();
}
}
}
字符串
我还尝试在第一个foreach
循环中使用DataTable
以及Unbound Source
DataTable dt = new DataTable();
dt.Clear();
DataRow row = dt.NewRow();
row["Name"] = user.FullName;
row["Status"] = resizedIcon;
gridStatustableau.DataSource = dt;
型
但网格仍然是空的。
有人对此有想法吗?
1条答案
按热度按时间q43xntqr1#
GridControl要求设置DataSource属性。如果不打算这样做,则说明您正在使用所谓的未绑定模式。若要继续使用此模式,您需要查看以下内容:
Unbound Columns
Tutorial: Unbound Columns的