我试图找到网格中两列之间的差异并将其显示在第三列上。但是,我收到以下错误:
输入字符串的格式不正确。
到目前为止,这是我的代码:
<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>
答案 0 :(得分:0)
尝试使用此..
计算数据库查询本身的实际数量。
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中使用高度。它扰乱了你的用户界面。尽量使用高度%,如20%。它根据屏幕大小保持格式。