试图找出 GridView 中两个列值之间的差异
Trying to find difference between two column values in GridView
我正在尝试找出网格中两列之间的差异并将其显示在第 3 列上。但是,我收到以下错误:
Input string was not in a correct format.
到目前为止,这是我的代码:
<asp:TemplateField HeaderText="Issued Quantity"SortExpression="Issued_Quantity">
<ItemTemplate>
<asp:Label ID="txtIssued_Quantity" runat="server" Text='<%# ProcessMyDataItem(Eval("Issued_Quantity")) %>'></asp:Label>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="Returned Quantity" SortExpression="Return_Quantity">
<ItemTemplate>
<asp:Label ID="txtReturn_Quantity" runat="server" Text='<%# ProcessMyDataItem(Eval("Return_Quantity")) %>'></asp:Label>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="Actual Used Quantity" SortExpression="txtQty1">
<ItemTemplate>
<asp:TextBox ID="txtQty" runat="server" Enabled="False" Height="27px" Text='<%# Convert.ToDouble(Eval("Issued_Quantity")) - Convert.ToDouble(Eval("Return_Quantity"))%>' Width="73px"></asp:TextBox>
</ItemTemplate>
</asp:TemplateField>
尝试使用这个..
在数据库查询中计算实际数量。
Select Issued_Quantity, Return_Quantity, convert(decimal(4,2),Issued_Quantity) - convert(decimal(4,2),Return_Quantity) as Actual_Quantity from [YourTable]
然后像这样编辑您的代码
<asp:TemplateField HeaderText="Actual Used Quantity" SortExpression="txtQty1">
<ItemTemplate>
<asp:TextBox ID="txtQty" runat="server" Enabled="False" Height="27px" Text='<%# ProcessMyDataItem(Eval("Actual_Quantity ")) %>' Width="73px"></asp:TextBox>
</ItemTemplate>
</asp:TemplateField>
希望这会有所帮助..
注意:小数点(4,2) 用于指示目的。您可以根据实际数据更改它们。
另一个与这个问题无关但一般的观察。不要使用以 px 为单位的高度。它打扰了你的 UI。尝试使用以 % 为单位的高度,例如 20%。它根据屏幕大小保留格式。
我正在尝试找出网格中两列之间的差异并将其显示在第 3 列上。但是,我收到以下错误:
Input string was not in a correct format.
到目前为止,这是我的代码:
<asp:TemplateField HeaderText="Issued Quantity"SortExpression="Issued_Quantity">
<ItemTemplate>
<asp:Label ID="txtIssued_Quantity" runat="server" Text='<%# ProcessMyDataItem(Eval("Issued_Quantity")) %>'></asp:Label>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="Returned Quantity" SortExpression="Return_Quantity">
<ItemTemplate>
<asp:Label ID="txtReturn_Quantity" runat="server" Text='<%# ProcessMyDataItem(Eval("Return_Quantity")) %>'></asp:Label>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="Actual Used Quantity" SortExpression="txtQty1">
<ItemTemplate>
<asp:TextBox ID="txtQty" runat="server" Enabled="False" Height="27px" Text='<%# Convert.ToDouble(Eval("Issued_Quantity")) - Convert.ToDouble(Eval("Return_Quantity"))%>' Width="73px"></asp:TextBox>
</ItemTemplate>
</asp:TemplateField>
尝试使用这个..
在数据库查询中计算实际数量。
Select Issued_Quantity, Return_Quantity, convert(decimal(4,2),Issued_Quantity) - convert(decimal(4,2),Return_Quantity) as Actual_Quantity from [YourTable]
然后像这样编辑您的代码
<asp:TemplateField HeaderText="Actual Used Quantity" SortExpression="txtQty1">
<ItemTemplate>
<asp:TextBox ID="txtQty" runat="server" Enabled="False" Height="27px" Text='<%# ProcessMyDataItem(Eval("Actual_Quantity ")) %>' Width="73px"></asp:TextBox>
</ItemTemplate>
</asp:TemplateField>
希望这会有所帮助..
注意:小数点(4,2) 用于指示目的。您可以根据实际数据更改它们。
另一个与这个问题无关但一般的观察。不要使用以 px 为单位的高度。它打扰了你的 UI。尝试使用以 % 为单位的高度,例如 20%。它根据屏幕大小保留格式。