Asp.net 如何在gridview中合并两列

Asp.net 如何在gridview中合并两列,asp.net,gridview,Asp.net,Gridview,我有一个网格视图 <asp:BoundField DataField="UnusedTicketAmount" HeaderText="UnusedTicketAmount" /> <asp:BoundField DataField="ddlUnusedAmount" HeaderText="ddlUnusedAmount" /> <asp:BoundField DataField="AirlinePenality"

我有一个网格视图

        <asp:BoundField DataField="UnusedTicketAmount" HeaderText="UnusedTicketAmount" />
        <asp:BoundField DataField="ddlUnusedAmount" HeaderText="ddlUnusedAmount" />
        <asp:BoundField DataField="AirlinePenality" HeaderText="AirlinePenality" />
        <asp:BoundField DataField="ddlAirlinePenality" HeaderText="ddlAirlinePenality" />
        <asp:BoundField DataField="NetRefundProcess" HeaderText="NetRefundProcess" />
        <asp:BoundField DataField="ddlNetRefundProcess" HeaderText="ddlNetRefundProcess" />
        <asp:BoundField DataField="RefundableCommission" HeaderText="RefundableCommission" />
        <asp:BoundField DataField="ddlRefundableCommission" HeaderText="ddlRefundableCommission" />
        <asp:BoundField DataField="CouponRefunded" HeaderText="CouponRefunded" />
        <asp:BoundField DataField="RefundType" HeaderText="RefundType" /> 

在这个gridview中,我想在一列中添加airlineppentity和ddlairlinepanelity
我怎样才能做到这一点呢?

您可以创建一个模板字段并像这样绑定两个字段

<asp:TemplateField HeaderText="Airlinepenality"   SortExpression="ddlAirlinePenality">
<ItemTemplate>
    <asp:Label ID="Label1" runat="server" Text='<%#Eval("AirlinePenality")+ " " + Eval("ddlAirlinePenality")%>' ></asp:Label>
</ItemTemplate>


您使用的是
绑定字段
我们只能通过TemplateField合并两列
,因此更好的
您可以在查询中合并这两列

试试下面的

查询:

SELECT UnusedTicketAmount, ddlUnusedAmount, 
cast(1.25 as varchar) + ' ' + cast(172813.99 as varchar) as AirlinePenality,
NetRefundProcess,ddlNetRefundProcess,RefundableCommission
ddlRefundableCommission,CouponRefunded,RefundType
Gridview

<asp:BoundField DataField="UnusedTicketAmount" HeaderText="UnusedTicketAmount" />
<asp:BoundField DataField="ddlUnusedAmount" HeaderText="ddlUnusedAmount" />
<asp:BoundField DataField="AirlinePenality" HeaderText="AirlinePenality" />
<asp:BoundField DataField="NetRefundProcess" HeaderText="NetRefundProcess" />
<asp:BoundField DataField="ddlNetRefundProcess" HeaderText="ddlNetRefundProcess" />
<asp:BoundField DataField="RefundableCommission" HeaderText="RefundableCommission" />
<asp:BoundField DataField="ddlRefundableCommission" HeaderText="ddlRefundableCommission" />
<asp:BoundField DataField="CouponRefunded" HeaderText="CouponRefunded" />
<asp:BoundField DataField="RefundType" HeaderText="RefundType" /> 

假设您想要合并网格的最后三列,那么您也可以使用以下代码:

  protected void grdAirTicketList_RowDataBound(object sender, GridViewRowEventArgs e)
  {
      if (e.Row.RowType == DataControlRowType.Header)
      {
          e.Row.Cells[8].Visible = false;
          e.Row.Cells[7].Visible = false;
          e.Row.Cells[6].Attributes.Add("colspan", "3");
      }
  }

这意味着您名为“CouponReturned”和“ReturnType”的列将不可见,而“DllReturnableCommission”将在colspan 3中可见。

字段int或Varchar的类型是什么…?airlinepenality是带有nvarchar数据类型的文本框,DllAirlinePenality是带有float数据类型的下拉列表都具有金钱价值对吗惩罚是浮点值sryWhat数据源您正在使用绑定此GridView。。。?