0
我剛開始進入VB.NET編程,並設計了一個簡單的網頁,其下拉列表(從SQL動態讀取)填充GridView只顯示顏色的公式。它涉及專門塗料的顏色混合配方。公式本身具有由一列中的分號分隔的單個部分,我希望將此字符用作換行符,以便每個公式部分都顯示在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>
代碼背後:
Partial Class _Default
Inherits System.Web.UI.Page
Protected Sub Page_Load(ByVal sender As Object, ByVal e As EventArgs) Handles Me.Load
If Not IsPostBack Then
Dim username As String = System.Security.Principal.WindowsIdentity.GetCurrent().Name
DropDownList1.Items.Insert(0, New ListItem("---Select---"))
FillDropDownList()
End If
End Sub
' Show data in GridView
Protected Sub DropDownList1_SelectedIndexChanged(ByVal sender As Object, ByVal e As EventArgs)
Dim s As String = WebConfigurationManager.ConnectionStrings("ConnectionString").ConnectionString
Dim con As SqlConnection = New SqlConnection(s)
con.Open()
Dim cmd As SqlCommand = New SqlCommand("SELECT * from z_md_ColorFormulas where BlankColor='" + DropDownList1.SelectedItem.ToString() + "'", con)
Dim dr As SqlDataReader = cmd.ExecuteReader()
ColorGridView.DataSource = dr
ColorGridView.DataBind()
dr.Close()
con.Close()
End Sub
Public Sub FillDropDownList()
Dim s1 As String = WebConfigurationManager.ConnectionStrings("ConnectionString").ConnectionString
Dim con1 As SqlConnection = New SqlConnection(s1)
con1.Open()
Dim cmd1 As SqlCommand = New SqlCommand("Select BlankColor from z_md_ColorFormulas", con1)
Dim dr1 As SqlDataReader = cmd1.ExecuteReader()
While dr1.Read()
DropDownList1.Items.Add(dr1(0).ToString())
End While
dr1.Close()
con1.Close()
End Sub
我開始回答你的問題,但後來意識到我不知道你想要做什麼根據你的描述。你能澄清嗎?你說你的數據庫中的1列用分號分隔,例如:'Red; Blue; Green'?你是否需要遍歷返回數據集的每一列中的每一組顏色? –
這是**超級刺激**閱讀你的問題與代碼內的所有空行。不要這樣寫代碼。 –
我很抱歉這個網頁在我的代碼中放置額外的行,它不像VS中那樣。 – user988265