<asp:GridView ID="GridView2" runat="server" AllowSorting="True" AutoGenerateColumns="False"
BackColor="White" BorderColor="#CCCCCC" BorderStyle="None" BorderWidth="1px"
CellPadding="4" Font-Size="12px" HorizontalAlign="Center" OnPageIndexChanging="GridView2_PageIndexChanging"
OnSelectedIndexChanging="GridView2_SelectedIndexChanging" Width="100%" OnRowDataBound="GridView2_RowDataBound"
OnRowCreated="GridView2_RowCreated" ShowFooter="True">
<FooterStyle BackColor="#EFEFEF" ForeColor="#3F3F3F" />
<Columns>
<asp:BoundField DataField="id" HeaderText="序号" />
<asp:BoundField DataField="CompanyName" HeaderText="包装生产企业" />
<asp:BoundField DataField="khmc" HeaderText="使用单位" />
<asp:BoundField DataField="htbh" HeaderText="合同编号" />
<asp:BoundField DataField="sl" HeaderText="数量" />
<asp:BoundField DataField="dj" HeaderText="单价" />
<asp:BoundField DataField="htje" HeaderText="金额" />
<asp:BoundField DataField="Number" HeaderText="数量" />
<asp:BoundField DataField="Pirce" HeaderText="单价" />
<asp:BoundField DataField="Payment" HeaderText="金额" />
<asp:BoundField DataField="NotPayment" HeaderText="到款" />
<asp:BoundField DataField="id" HeaderText="欠款" />
</Columns>
<SelectedRowStyle BackColor="#669999" Font-Bold="True" ForeColor="White" />
<HeaderStyle BackColor="#006699" Font-Bold="True" ForeColor="White" />
</asp:GridView>
cs文件代码:
private double sum = 0;
private double sum1 = 0;
protected void GridView2_RowDataBound(object sender, GridViewRowEventArgs e)
{
if (e.Row.RowType == DataControlRowType.DataRow)
{
if ((e.Row.Cells[1].Text).Length > 16)
{
e.Row.Cells[1].Text = (e.Row.Cells[1].Text).Substring(0, 16) + "…";
}
if ((e.Row.Cells[2].Text).Length > 16)
{
e.Row.Cells[2].Text = (e.Row.Cells[2].Text).Substring(0, 16) + "…";
}
string id = e.Row.Cells[11].Text.ToString();
stockClass sc = new stockClass();
float not4 = sc.not(id);
if (not4 == 0)
{
e.Row.Cells[11].Text = "<font color=red>0</font>";
}
else
{
e.Row.Cells[11].Text = String.Format("{0:0.00}", not4);
}
string id2 = e.Row.Cells[10].Text.ToString();
stockClass sc2 = new stockClass();
float not5 = sc.not1(id);
if (not5 == 0)
{
e.Row.Cells[10].Text = "<font color=red>0</font>";
}
else
{
e.Row.Cells[10].Text = String.Format("{0:0.00}", not5);
}
if (e.Row.RowIndex >= 0)
{
sum += Convert.ToDouble(e.Row.Cells[4].Text);
sum1 += Convert.ToDouble(e.Row.Cells[5].Text);
}
else if (e.Row.RowType == DataControlRowType.Footer)
{
e.Row.Cells[3].Text = "合计:";
e.Row.Cells[4].Text = sum.ToString();
e.Row.Cells[5].Text = sum1.ToString();
}
}
}[
为什么不显示合计值?高手帮忙看看!谢谢!
6 个解决方案
#1
直接在DataTable中加合计行,然后绑定到GridView
#2
查询的时候就把合计查出来,或者在datatable里加一行合计
#3
你的这个
else if (e.Row.RowType == DataControlRowType.Footer)
{
e.Row.Cells[3].Text = "合计:";
e.Row.Cells[4].Text = sum.ToString();
e.Row.Cells[5].Text = sum1.ToString();
}
判断在
if (e.Row.RowType == DataControlRowType.DataRow)
{
//上面的Footer添加的内容你放在了DataRow里,当然执行不到了。
}
你的那个RowDataBound的if...else 感觉太乱了,自己检查一下先。
else if (e.Row.RowType == DataControlRowType.Footer)
{
e.Row.Cells[3].Text = "合计:";
e.Row.Cells[4].Text = sum.ToString();
e.Row.Cells[5].Text = sum1.ToString();
}
判断在
if (e.Row.RowType == DataControlRowType.DataRow)
{
//上面的Footer添加的内容你放在了DataRow里,当然执行不到了。
}
你的那个RowDataBound的if...else 感觉太乱了,自己检查一下先。
#4
以前帮别人写过类似的,你参考一下,原帖地址:
http://topic.csdn.net/u/20110820/00/238cba9a-eb6a-495d-a01d-e1d64b98f738.html
http://topic.csdn.net/u/20110820/00/238cba9a-eb6a-495d-a01d-e1d64b98f738.html
#5
protected void GridView2_RowDataBound(object sender, GridViewRowEventArgs e)
{
if (e.Row.RowType == DataControlRowType.DataRow)
{
if ((e.Row.Cells[1].Text).Length > 16)
{
e.Row.Cells[1].Text = (e.Row.Cells[1].Text).Substring(0, 16) + "…";
}
if ((e.Row.Cells[2].Text).Length > 16)
{
e.Row.Cells[2].Text = (e.Row.Cells[2].Text).Substring(0, 16) + "…";
}
string id = e.Row.Cells[11].Text.ToString();
stockClass sc = new stockClass();
float not4 = sc.not(id);
if (not4 == 0)
{
e.Row.Cells[11].Text = "<font color=red>0</font>";
}
else
{
e.Row.Cells[11].Text = String.Format("{0:0.00}", not4);
}
string id2 = e.Row.Cells[10].Text.ToString();
stockClass sc2 = new stockClass();
float not5 = sc.not1(id);
if (not5 == 0)
{
e.Row.Cells[10].Text = "<font color=red>0</font>";
}
else
{
e.Row.Cells[10].Text = String.Format("{0:0.00}", not5);
}
}
else
{
if (e.Row.RowIndex >= 0)
{
sum += Convert.ToDouble(e.Row.Cells[4].Text);
sum1 += Convert.ToDouble(e.Row.Cells[5].Text);
}
else if (e.Row.RowType == DataControlRowType.Footer)
{
e.Row.Cells[3].Text = "合计:";
e.Row.Cells[4].Text = sum.ToString();
e.Row.Cells[5].Text = sum1.ToString();
}
}
}
#6
好了,谢谢!
#1
直接在DataTable中加合计行,然后绑定到GridView
#2
查询的时候就把合计查出来,或者在datatable里加一行合计
#3
你的这个
else if (e.Row.RowType == DataControlRowType.Footer)
{
e.Row.Cells[3].Text = "合计:";
e.Row.Cells[4].Text = sum.ToString();
e.Row.Cells[5].Text = sum1.ToString();
}
判断在
if (e.Row.RowType == DataControlRowType.DataRow)
{
//上面的Footer添加的内容你放在了DataRow里,当然执行不到了。
}
你的那个RowDataBound的if...else 感觉太乱了,自己检查一下先。
else if (e.Row.RowType == DataControlRowType.Footer)
{
e.Row.Cells[3].Text = "合计:";
e.Row.Cells[4].Text = sum.ToString();
e.Row.Cells[5].Text = sum1.ToString();
}
判断在
if (e.Row.RowType == DataControlRowType.DataRow)
{
//上面的Footer添加的内容你放在了DataRow里,当然执行不到了。
}
你的那个RowDataBound的if...else 感觉太乱了,自己检查一下先。
#4
以前帮别人写过类似的,你参考一下,原帖地址:
http://topic.csdn.net/u/20110820/00/238cba9a-eb6a-495d-a01d-e1d64b98f738.html
http://topic.csdn.net/u/20110820/00/238cba9a-eb6a-495d-a01d-e1d64b98f738.html
#5
protected void GridView2_RowDataBound(object sender, GridViewRowEventArgs e)
{
if (e.Row.RowType == DataControlRowType.DataRow)
{
if ((e.Row.Cells[1].Text).Length > 16)
{
e.Row.Cells[1].Text = (e.Row.Cells[1].Text).Substring(0, 16) + "…";
}
if ((e.Row.Cells[2].Text).Length > 16)
{
e.Row.Cells[2].Text = (e.Row.Cells[2].Text).Substring(0, 16) + "…";
}
string id = e.Row.Cells[11].Text.ToString();
stockClass sc = new stockClass();
float not4 = sc.not(id);
if (not4 == 0)
{
e.Row.Cells[11].Text = "<font color=red>0</font>";
}
else
{
e.Row.Cells[11].Text = String.Format("{0:0.00}", not4);
}
string id2 = e.Row.Cells[10].Text.ToString();
stockClass sc2 = new stockClass();
float not5 = sc.not1(id);
if (not5 == 0)
{
e.Row.Cells[10].Text = "<font color=red>0</font>";
}
else
{
e.Row.Cells[10].Text = String.Format("{0:0.00}", not5);
}
}
else
{
if (e.Row.RowIndex >= 0)
{
sum += Convert.ToDouble(e.Row.Cells[4].Text);
sum1 += Convert.ToDouble(e.Row.Cells[5].Text);
}
else if (e.Row.RowType == DataControlRowType.Footer)
{
e.Row.Cells[3].Text = "合计:";
e.Row.Cells[4].Text = sum.ToString();
e.Row.Cells[5].Text = sum1.ToString();
}
}
}
#6
好了,谢谢!