DataGrid的问题.
我有这样一组数据:
成鑫公司 0202 4-2煤下分层110材料道 瓦斯 0.0 传感器故障
成鑫公司 0201 4-2煤下分层105材料道 瓦斯 0.06 正常
成鑫公司 0103 西总回风 瓦斯 0.46 传感器故障
成鑫公司 0101 西总回风 一氧化碳 0.77 正常
成鑫公司 0104 风速 风速 5.85 正常
成鑫公司 0201 4-2煤下分层105材料道 风速 5.85 正常
我想实现这样的功能:
如果第4列的数据为瓦斯,则第5列的数值后面加上单位%,如果为一氧化碳单位加上ppm
显示后的数据应为:
成鑫公司 0202 4-2煤下分层110材料道 瓦斯 0.0% 传感器故障
成鑫公司 0201 4-2煤下分层105材料道 瓦斯 0.06% 正常
成鑫公司 0103 西总回风 瓦斯 0.46% 传感器故障
成鑫公司 0101 西总回风 一氧化碳 0.77ppm 正常
成鑫公司 0104 风速 风速 5.85m/s 正常
成鑫公司 0201 4-2煤下分层105材料道 风速 5.85m/s 正常
我在DataGrid1_ItemDataBound()方法中写了如下代码:
if(e.Item.ItemIndex> 0)
{
if(DataGrid1.Items[e.Item.ItemIndex-1].Cells[3].Text== "瓦斯 ")
{
DataGrid1.Items[e.Item.ItemIndex-1].Cells[4].Text=DataGrid1.Items[e.Item.ItemIndex-1].Cells[4].Text+ "% ";
}
if(DataGrid1.Items[e.Item.ItemIndex-1].Cells[3].Text== "一氧化碳 ")
{
DataGrid1.Items[e.Item.ItemIndex-1].Cells[4].Text=DataGrid1.Items[e.Item.ItemIndex-1].Cells[4].Text+ "ppm ";
}
if(DataGrid1.Items[e.Item.ItemIndex-1].Cells[3].Text== "风速 ")
{
DataGrid1.Items[e.Item.ItemIndex-1].Cells[4].Text=DataGrid1.Items[e.Item.ItemIndex-1].Cells[4].Text+ "m/s ";
}
}
最后运行结果显示:最后一列数据的单位没有加上,这是什么原因啊?
------解决方案--------------------if(e.Item.ItemIndex> 0)
{
if(e.Item.Cells[3].Text== "瓦斯 "))
{
e.Item.Cells[4].Text = e.Item.Cells[4].Text + "% ";
}
else if(e.Item.Cells[3].Text== "一氧化碳 ")
{
e.Item.Cells[4].Text = e.Item.Cells[4].Text + "ppm ";
}
else
{
e.Item.Cells[4].Text = e.Item.Cells[4].Text + "m/s ";
}
}