如何在gridview中合并两列

时间:2013-04-02 14:17:44

标签: asp.net gridview

我有一个gridview

        <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中,我想将航空基础和ddlairlinepanelity添加到一列 我怎么能提前感谢

3 个答案:

答案 0 :(得分:10)

您可以创建模板字段并绑定两个字段,如下所示。

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

答案 1 :(得分:1)

您仅使用Bound fieldwe can merge two columns by TemplateField,更好you can merge that two columns in your query

尝试如下...

<强>查询:

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" /> 

答案 2 :(得分:1)

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

  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");
      }
  }

这意味着名为“CouponRefunded”和“RefundType”的列将不可见,并且colspan 3将显示“ddlRefundableCommission”。