GridView表格中实现如上效果;指定列每行显示的字段值按条件变换;每列显示值自由指定,可使用变量或对字段值进行处理;
说明:必须加入 OnRowDataBound="Grid1_RowDataBound"
<f:Grid ID="Grid1" Title="我的数据记录" EnableCollapse="true" Width="640px" ShowBorder="true" ShowHeader="true" EnableCheckBoxSelect="true" OnRowDataBound="Grid1_RowDataBound"
AllowPaging="true" runat="server" ShowPagingMessage="false" SortField="id" SortDirection="DESC" AllowSorting="true" OnRowCommand="Grid1_RowCommand"
DataKeyNames="Id" IsDatabasePaging="true" OnPageIndexChange="Grid1_PageIndexChange" AllowCellEditing="true" ClicksToEdit="2" OnSort="Grid1_Sort">
<Columns>
<f:RowNumberField EnablePagingNumber="true" Width="40px" />
<f:BoundField Width="160px" DataField="dt" HeaderText="采集时间" SortField="dt" />
<f:RenderField Width="120px" ColumnID="gx" DataField="gx" HeaderText="设备名称" SortField="gx"></f:RenderField>
<f:TemplateField Width="120px" HeaderText="采集值"><ItemTemplate>
<%# Convert.ToInt32(Eval("sz1").ToString().Trim(), 16)/100 %> </ItemTemplate>
</f:TemplateField>
<f:BoundField Width="120px" DataField="gx" HeaderText="变换值" SortField="gx" />
<f:BoundField Width="120px" DataField="sz1" HeaderText="变换值1" SortField="sz1" />
</Columns>
</f:Grid>
要在表格某列显示指定变量值,可使用行绑定事件实现,如下:
说明:注意 下面FineUI 下GridView行绑定事件的不同写法
protected void Grid1_RowDataBound(object sender, FineUI.GridRowEventArgs e)
{
string stateGrade = e.Values[2].ToString().Trim();
if (stateGrade == "A11")
{
e.Values[2] = "选择1";
}
else if (stateGrade == "B22")
{
e.Values[2] = "选择2";
}
else if (stateGrade == "C33")
{
e.Values[2] = "选择3";
}
else
{
e.Values[2] = "其它";
}
e.Values[5] = Convert.ToInt32(e.Values[5].ToString().Trim(), 16) / 100;
}