想根据某字段取值的不同自动分类计数,现如下实现的,不知道GridView有没有实现的方法。
private void gridView1_CellValueChanged(object sender, DevExpress.XtraGrid.Views.Base.CellValueChangedEventArgs e)
{
if (e.Column.FieldName=="atStateId")
{
CountByAtStateId();//分类计算人数
}
}
/// <summary>
/// 分类计算各种签到的人数
/// </summary>
private void CountByAtStateId()
{
string chooseItem;
int[] chooseValue = { 0,0,0,0,0};
for (int i = 0; i < gridView1.RowCount; i++)
{
chooseItem =gridView1.GetRowCellValue(i, "atId").ToString();
switch (chooseItem)
{
case "10":
chooseValue[0] += 1;
break;
case "11":
chooseValue[1] += 1;
break;
case "12":
chooseValue[2] += 1;
break;
case "13":
chooseValue[3] += 1;
break;
case "14":
chooseValue[4] += 1;
break;
default:
break;
}
}
txt1.EditValue = chooseValue[0];
tx2.EditValue = chooseValue[1];
txt3.EditValue = chooseValue[2];
txt4.EditValue = chooseValue[3];
txt5.EditValue = chooseValue[4];
}
------解决方案--------------------
这种个性化的需求应该还是要自己写代码实现的。
------解决方案--------------------
同意一楼,虽然 GridControl 有自带的分类计数统计功能,但是由于你是 CellValueChanged 事件中操作的,所以要自己写代码。