webForumDet fria alternativet

Datagrid funderingar...

2 svar · 323 visningar · startad av CatZ

CatZMedlem sedan jan. 20022 440 inlägg
#1

Jag har en datagrid där användaren kan ange lite olika inställningar för att programmet ska fungera.

Hela datagriden har tre kolumner. ID, SetupID, Setting, Category. Under Smtp-kategorin finns följande SetupID.

MailServer
Port
Username
Password

Jag vill se till att den Setting som tillhör SetupID=Password aldrig visas i klartext, går det att ändra det på något smidigt sätt?

PMedlem sedan jan. 20012 204 inlägg
#2

Då du lägger till dina kolumner så struntar du i att lägga till Password?, annars kan du ju bara köra en replace:

public string Replace(string tmp)
{
    return "*******";
}

kanske?

CatZMedlem sedan jan. 20022 440 inlägg
#3

OnItemDataBound heter lösningen på mina problem.

Protected Sub dgItemDataBound(ByVal sender As Object, ByVal e As DataGridItemEventArgs)
'Display the correct items for the drop downboxes when the item is displayed
	If (e.Item.ItemType = ListItemType.AlternatingItem) Or (e.Item.ItemType = ListItemType.Item) Then
		Dim mySetting As Label = CType(e.Item.FindControl("lblInfo"), Label)
		Dim myddl As DropDownList = CType(e.Item.FindControl("ddlSetting"), DropDownList)
		Dim myValue As Label = CType(e.Item.FindControl("lblSetting"), Label)
	
		Select Case mySetting.Text
			Case "1"
				myddl.Visible = True
				myValue.Visible = False
				myddl.SelectedValue = myValue.Text
			Case "2"
				myValue.Text = myValue.Text
				myddl.Visible = False
				myValue.Visible = True
			Case Else
				myddl.Visible = False
				myValue.Visible = True
		End Select
	End If
	
	If e.Item.ItemType = ListItemType.EditItem Then
		Dim mySetting As Label = CType(e.Item.FindControl("lblInfo"), Label)
		Dim myddl As DropDownList = CType(e.Item.FindControl("ddlSetting"), DropDownList)
		Dim myValue As TextBox = CType(e.Item.FindControl("tbSetting"), TextBox)
	
		Select Case mySetting.Text
			Case "1"
				myddl.Visible = True
				myValue.Visible = False
				myddl.SelectedValue = myValue.Text
	
			Case "2"
				myValue.TextMode = TextBoxMode.Password
				myddl.Visible = False
				myValue.Visible = True
			Case Else
				myddl.Visible = False
				myValue.Visible = True
		End Select
	End If
End Sub
128 ms totalt · 3 externa anrop · v20260731065814-full.fb544a5a
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
125 ms — hämta tråd, inlägg och bilagor (db)