CatZMedlem sedan jan. 20022 440 inlägg 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 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 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