Vb.net 我想用换行符替换动态gridview中的分号

Vb.net 我想用换行符替换动态gridview中的分号,vb.net,gridview,replace,Vb.net,Gridview,Replace,我刚刚开始学习VB.NET编程,并设计了一个简单的网页,其中包含一个从SQL动态读取的下拉列表,该列表填充一个仅显示该颜色公式的GridView。它涉及专门油漆的混色配方。公式本身的各个部分在其中一列中用分号分隔,我想用这个字符作为换行符,这样每个公式部分都显示在GridView单元格中的一条单独的线上。我尝试了许多方法来替换、拆分等,但遇到了障碍。在何处/如何添加代码以执行此替换 下面是我的代码: <body> <form id="form1" runat="ser

我刚刚开始学习VB.NET编程,并设计了一个简单的网页,其中包含一个从SQL动态读取的下拉列表,该列表填充一个仅显示该颜色公式的GridView。它涉及专门油漆的混色配方。公式本身的各个部分在其中一列中用分号分隔,我想用这个字符作为换行符,这样每个公式部分都显示在GridView单元格中的一条单独的线上。我尝试了许多方法来替换、拆分等,但遇到了障碍。在何处/如何添加代码以执行此替换

下面是我的代码:

<body> 
    <form id="form1" runat="server">
        <div> 
            <asp:ImageButton ID="ImageButton1" runat="server" 
                             AlternateText="Home Page" Height="46px" 
                             ImageUrl="~/Images/Block_Tagline.jpg"
                             PostBackUrl="~/Default.aspx" Width="140px" />
            <br />
            <asp:LoginName ID="LoginName" 
                           FormatString="Currently logged in as {0}" 
                           runat="server" 
                           ForeColor="#009933" />
            <br />
            <br />
            <br />
            Choose Your Color:
            <asp:DropDownList ID="DropDownList1" runat="server" 
                              AutoPostBack="true" 
                              OnSelectedIndexChanged="DropDownList1_SelectedIndexChanged">
            </asp:DropDownList>
            <br />
            <br />
            <asp:GridView ID="ColorGridView" runat="server" 
                          Width="100%" BackColor="White" 
                          BorderColor="#E7E7FF" BorderStyle="None" 
                          BorderWidth="1px" CellPadding="3" 
                          GridLines="Horizontal">
                <RowStyle BackColor="#E7E7FF" ForeColor="#4A3C8C" />
                <PagerStyle ForeColor="#4A3C8C" HorizontalAlign="Right"
                            BackColor="#E7E7FF" />
                <SelectedRowStyle BackColor="#738A9C" Font-Bold="True"
                                  ForeColor="#F7F7F7" />
                <HeaderStyle BackColor="#4A3C8C" Font-Bold="True" 
                             ForeColor="#F7F7F7" />
                <AlternatingRowStyle BackColor="#F7F7F7" /> 
            </asp:GridView>
            <span id="Message" runat="server"/>
            <b></b>
            <br />
            <asp:Button ID="btnEdit" runat="server" 
                        Text="Edit/Add/Delete Colors" 
                        PostBackUrl="~/Edit/EditColors.aspx" />
        </div>
    </form>
</body>

为了充实您的答案user988265,我想您的意思是使用代码:

<asp:TemplateField HeaderText="Colours">
    <ItemTemplate>
        <%# Eval("Colour").ToString().Replace(";","<br />") %>
    </ItemTemplate>
</asp:TemplateField>

在我需要类似的东西时为我工作。我想知道是否有可能将此内容填充到下拉列表中?

我开始回答您的问题,但后来意识到,根据您的描述,我不知道您想做什么。你能澄清一下吗?您说数据库中的1列存储用分号分隔的值,如:红色;蓝色绿色你只需要在返回的数据集中的每一列中循环使用每一组颜色吗?读你的问题时,代码中有那么多空行,这真是太令人恼火了。不要写这样的代码。我很抱歉这个网页在我的代码中添加了额外的行,它不像在VS中那样。我的GridView包含5列,其中2列有分号分隔的颜色公式,例如红色205 244gr;蓝色106 120克。。。。。。我希望每个颜色部分都显示在各自单元格内的新行上,我已将其计算出来。。我将gridview设置为不生成列,然后为要分离的列添加了带有eval/replace表达式的模板字段
<asp:TemplateField HeaderText="Colours">
    <ItemTemplate>
        <%# Eval("Colour").ToString().Replace(";","<br />") %>
    </ItemTemplate>
</asp:TemplateField>