是否有可能在Formview中的每个模板中独立控制标签文本颜色?
问题描述:
我有一个标准的三个模板,项目,EditItem和InsertItem formview。我在各个领域使用标签,从而控制基于sql表中的数据显示的文本(没问题)。在同一字段的每个模板中使用相同的标签ID号(Label1用于每个模板中的值字段)。是否可以独立控制显示文本的颜色?也就是说,我想只在EditItem和InsertItem模板中将颜色更改为红色,同时在项目模板中保留黑色。我有一个想法,我可以使用ModeChanged事件来实现这一点,但没有运气让它工作。有人有任何建议吗?是否有可能在Formview中的每个模板中独立控制标签文本颜色?
Protected Sub FormView1_ModeChanged(sender As Object, e As System.EventArgs) Handles FormView1.ModeChanged
Dim conCString As String = ConfigurationManager.ConnectionStrings("conCString").ConnectionString
Dim lbl24 As Label = FormView1.FindControl("Label24")
Dim sqlConnection As SqlConnection = New SqlConnection(ConfigurationManager.ConnectionStrings("conCString").ConnectionString)
Dim cmd As New SqlCommand
cmd.CommandType = CommandType.Text
cmd.Connection = sqlConnection
If FormView1.CurrentMode = FormViewMode.Edit Then
Dim querystring As String = "SELECT [DisplayName], [BuildRules] FROM [BuildFields] WHERE ([TableID] = N'Capacitors') AND (ColumnID = N'Value') ORDER BY [ColumnID]"
sqlConnection.Open()
Dim command24 As New SqlCommand(querystring, sqlConnection)
Dim reader24 As SqlDataReader = command24.ExecuteReader()
While reader24.Read()
lbl24.Text = reader24(0)
If reader24(1) = 255 Then
lbl24.ForeColor = Color.Red
Else
lbl24.ForeColor = Color.Black
End If
End While
sqlConnection.Close()
End If
End Sub
答
的解决方案是移动这对formview1_databound并使用if语句来确定当前模式,并且相应地设置的颜色。
我猜这个WPF相关;如果是这样,您可能需要添加适当的标签以获得正确的关注 – Plutonix 2014-09-22 00:28:33