私は一見を持っていますが、私はそれがあなたのケーキを食べて食べることができない場合ですが、私は誰かが知っている場合私が使用できる回避策の複数のデータ型列
基本的に2つの列、フィールド名と値を使用してプログラムでDataGridViewコントロールを構築していますが、ソースデータは複雑な方法で格納されているCRMシステムから取得されています。検索する。
私が抱えている問題は、HTMLタグがデータベースから引き出されたときにレンダリングされないことです。電子メールアドレスと同じですが、手動でそれらをhrefに変えてページ上をクリックするだけで新しいメール。
以下の例では、DBに格納されているものはhttp://アドレスです。これをhtmlタグに入れました。そうでない場合はURLをプレーンテキストとして表示します。
私が読んだの項目からresult.value = "<a href= """ & result.value & ">" & result.value & "</a>"
Display of data - added href tags
、値にhtmlEncodeがうまくいくの追加ですが、それはできません。
result.value = HttpUtility.HtmlEncode(result.value)
Display of data - added htmlencode
は、誰もが、私はこのコラムディスプレイの両方の文字列、およびハイパーリンクを作ることができる方法上の任意のアイデアを持っていますか?
私が使用している完全な方法はここにある:
Private Sub getData()
'DropDownList1.SelectedIndex = 0
If DropDownList1.SelectedValue Is "" Then
' assume firstrun
Else
'assume not firstrun
firstrun = False
thisClientID = dbconn.getClientID(DropDownList1.SelectedValue)
Dim results As List(Of DataDump) = dbconn.GetAllData(thisClientID)
Label1.Text = "(CRM ID: " & thisClientID & ")"
alldc = New DataColumn()
'dc.DataType = System.Type.GetType("system.string")
'alldc.ColumnName = "Tab"
'alldc.ReadOnly = "True"
'AllDataTable.Columns.Add(alldc)
alldc = New DataColumn()
' dc.DataType = System.Type.GetType("system.string")
alldc.ColumnName = "Field"
alldc.ReadOnly = "True"
AllDataTable.Columns.Add(alldc)
alldc = New DataColumn()
'alldc.DataType = System.Type.GetType("system.hyperlink")
alldc.ColumnName = "Value"
alldc.ReadOnly = "True"
AllDataTable.Columns.Add(alldc)
CompanyDetailsDataTable = AllDataTable.Clone
ConnectionDetailsDataTable = AllDataTable.Clone
EnvironmentalConfigurationDataTable = AllDataTable.Clone
ModulesInstalledDataTable = AllDataTable.Clone
OnlineConfigurationDataTable = AllDataTable.Clone
PensionDetailsDataTable = AllDataTable.Clone
PeopleDataTable = AllDataTable.Clone
SupportDetailsDataTable = AllDataTable.Clone
SystemConfigurationDataTable = AllDataTable.Clone
UATSystemDataTable = AllDataTable.Clone
' Instantiate the DataSet variable.
Dim AllDetailsDataSet As New DataSet()
Dim CompanyDetailsDataset As New DataSet()
Dim ConnectionDetailsDataset As New DataSet()
Dim EnvironmentalConfigurationDataset As New DataSet()
Dim ModulesInstalledDataset As New DataSet()
Dim OnlineConfigurationDataset As New DataSet()
Dim PensionDetailsDataset As New DataSet()
Dim PeopleDataset As New DataSet()
Dim SupportDetailsDataset As New DataSet()
Dim SystemConfigurationDataset As New DataSet()
Dim UATSystemDataset As New DataSet()
' Add the new DataTable to the DataSet.
AllDetailsDataSet.Tables.Add(AllDataTable)
CompanyDetailsDataset.Tables.Add(CompanyDetailsDataTable)
ConnectionDetailsDataset.Tables.Add(ConnectionDetailsDataTable)
EnvironmentalConfigurationDataset.Tables.Add(EnvironmentalConfigurationDataTable)
ModulesInstalledDataset.Tables.Add(ModulesInstalledDataTable)
OnlineConfigurationDataset.Tables.Add(OnlineConfigurationDataTable)
PensionDetailsDataset.Tables.Add(PensionDetailsDataTable)
PeopleDataset.Tables.Add(PeopleDataTable)
SupportDetailsDataset.Tables.Add(SupportDetailsDataTable)
SystemConfigurationDataset.Tables.Add(SystemConfigurationDataTable)
UATSystemDataset.Tables.Add(UATSystemDataTable)
For Each result As DataDump In results
alldr = AllDataTable.NewRow()
Select Case True
Case result.value.StartsWith("http")
'Hyperlinks
result.value = "<a href= """ & result.value & ">" & result.value & "</a>"
'result.value = HttpUtility.HtmlEncode(result.value)
' ****** need to make hyperlinks work
Case result.value.Contains("\")
'Connection Strings
Do While result.value.Contains("\\")
result.value = Replace(result.value, "\\", "\")
Loop
Case result.value.Contains("@") And result.value.Contains(".")
'Email Addresses - set as hyper link
result.value = "<a href= ""mailto:" & result.value & ">" & result.value & "</a>"
Case Else
End Select
'alldr("Tab") = result.tabname
alldr("Field") = result.fieldname
alldr("Value") = result.value
Select Case result.tabname
Case "Company Details"
CompanyDetailsDataTable.Rows.Add(result.fieldname, result.value)
Case "Connection Details"
ConnectionDetailsDataTable.Rows.Add(result.fieldname, result.value)
Case "Environmental Configuration"
EnvironmentalConfigurationDataTable.Rows.Add(result.fieldname, result.value)
Case "Modules Installed (Live)"
ModulesInstalledDataTable.Rows.Add(result.fieldname, result.value)
Case "Online Configuration"
OnlineConfigurationDataTable.Rows.Add(result.fieldname, result.value)
Case "Pension Details"
PensionDetailsDataTable.Rows.Add(result.fieldname, result.value)
Case "People"
PeopleDataTable.Rows.Add(result.fieldname, result.value)
Case "Support Details"
SupportDetailsDataTable.Rows.Add(result.fieldname, result.value)
Case "System Configuration"
SystemConfigurationDataTable.Rows.Add(result.fieldname, result.value)
Case "UAT System"
UATSystemDataTable.Rows.Add(result.fieldname, result.value)
Case Else
End Select
'AllDataTable.Rows.Add(result.tabname, result.fieldname, result.value)
Next
CompDetailsGV.DataSource = CompanyDetailsDataset
ConnDetailsGV.DataSource = ConnectionDetailsDataset
EnvironmentalDetailsGV.DataSource = EnvironmentalConfigurationDataset
ModulesDetailsGV.DataSource = ModulesInstalledDataset
OnlineDetailsGV.DataSource = OnlineConfigurationDataset
PensionDetailsGV.DataSource = PensionDetailsDataset
peopleDetailsGV.DataSource = PeopleDataset
SupportDetailsGV.DataSource = SupportDetailsDataset
SystemDetailsGV.DataSource = SystemConfigurationDataset
UATDetailsGV.DataSource = UATSystemDataset
CompDetailsGV.DataBind()
ConnDetailsGV.DataBind()
EnvironmentalDetailsGV.DataBind()
ModulesDetailsGV.DataBind()
OnlineDetailsGV.DataBind()
PensionDetailsGV.DataBind()
peopleDetailsGV.DataBind()
SupportDetailsGV.DataBind()
SystemDetailsGV.DataBind()
UATDetailsGV.DataBind()
End If
End Sub
この質問はWebフォームまたはWindowsフォームに関連していますか? windows forms [tag:datagridview]タグを使用していますが、[tag:asp.net]タグも使用しています。 –