如何通过gridview实现 把两列内容和成一列显示我现在需要实现这个功能:
1,分析列里面的数字的奇偶
2,在奇数后面加j
3,在偶数后面加o
4,最终要在gridview里显示。
还有个需求,在用户表里面有姓名 和性别两列
如果通过gridview把两列合成一列显示?

解决方案 »

  1.   

    把需要合并的两列,用TemplateField表示,把原来为BoundField的两列删除就可以了,修改后的代码如下:
        <h4>GridView Example</h4>
            <asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="False" 
                    DataKeyNames="ID" DataSourceID="AccessDataSource1">
                <Columns>
                    <asp:BoundField DataField="ID" HeaderText="ID" InsertVisible="False" 
                        ReadOnly="True" SortExpression="ID" />
                    <asp:TemplateField HeaderText="Title" SortExpression="Title">
                        <ItemTemplate>
                            <asp:Label ID="Label1" runat="server" Text='<%# Bind("Title") %>'></asp:Label>
                            <asp:Label ID="Label2" runat="server" Text='<%# Bind("Info") %>'></asp:Label>
                        </ItemTemplate>
                    </asp:TemplateField>
                </Columns>
            </asp:GridView>
      

  2.   

    我说个方法。。应该是可以的。。首先是将一列转换成为模板。。然后在模板中显示数据的控件(比如lable)数据绑定。绑定的时候可以绑定两列的数据。
    bind(“name”)+bind(“sex”)如果这样不行可以直接在源中写。还有一种技术这个技术是用switch case的。。比如我要将数据库中的1变成男,0变成女 代码如下,也就是说如果你要奇数后面加j偶数后面为o你只需要将下面temp的值进行改变。当然首先你需要if判定是奇数还是偶数,具体实现我就不说了。。你应该能够完成吧好了。。试试吧。   
        protected void GridView1_RowDataBound(object sender, GridViewRowEventArgs e)
        {
            if (e.Row.RowIndex == -1)
            {
                return;
            }
            if (e.Row.Cells[2].Controls[1] as Label == null)
            {
                return;
            }
            String str = ((Label)e.Row.Cells[2].Controls[1]).Text.ToString();
            String temp = "";
            switch (str)
            {
                case "0":
                    temp = "女";
                    break;
                default:
                    temp= "男";
                    break;
            }
            ((Label)e.Row.Cells[2].Controls[1]).Text = temp;
        }
      

  3.   

    同意楼上的方法 那是最简单的 建一个模板列 把原先需要两列显示的数据放到这一个模板列里面 然后再前台绑定数据就可以了关于奇偶和性别都是一样的 楼上已经都给出代码了  就在RowDataBound事件里面判断就可以了