我正在开发一个C#应用程序,需要为用户提供一个用户友好的工作环境。想法是用户使用他/她的id和密码,这样只有与用户相关的数据才会出现在一张桌子。我已经想出了如何做到这一点,但现在用户需要能够编辑表的内容,因为这是为了给用户提供友好的界面。
我应该使用什么样的表格组件来实现这一目标?我需要能够加载数据并将编辑后的数据保存回数据库,但我还需要能够为单个单元格和边框指定颜色,使其看起来更加用户友好。另外,我更喜欢使用点击编辑方式编辑表格内容。
我已经尝试过使用DataGridView但是它没有自定义它的外观。
我可以使用另一个好的.net组件来实现这个目标吗?
编辑:这是一个Windows窗体桌面应用程序。
答案 0 :(得分:2)
使用CellFormatting事件在将单个单元格绑定到数据网格时更改单个单元格
来自我自己的代码的例子:
private void dgColorCodeKey_CellFormatting(object sender, DataGridViewCellFormattingEventArgs e)
{
if (e.RowIndex >= 0)
{
//if we are binding a cell in the Color column
if (e.ColumnIndex == colColor.Index)
{
//ColorCode is a custom object that contains the name of a System.Drawing.Color
ColorCode bindingObject = (ColorCode)dgColorCodeKey.Rows[e.RowIndex].DataBoundItem;
dgColorCodeKey[e.ColumnIndex, e.RowIndex].Style.BackColor = Color.FromName(bindingObject.Color);
//set this property to true to tell the datagrid that we've applied our own formatting
e.FormattingApplied = true;
}
}
}
此外,请参阅此Data Grid FAQ,以获得有关数据网格如何工作以及各种方法和事件的清晰描述。