Gridview mit Boundfield onclick-Ereignis
Ich bin mit einem gridview, dass ich in der Lage sein möchten, klicken Sie auf jede Zeile, um anzeigen zu können, ein anderes Feld aus dem Objekt, dass ich mit der Anzeige. Es fühlt sich an wie es ' s einfach zu lösen, aber vielleicht bin ich dumm, weil ich kann nicht finden es überall...
Den ASP-code:
<asp:GridView ID="gvMessages" runat="server" AutoGenerateColumns = "false"
CaptionAlign="NotSet" CellPadding="5">
<Columns>
<asp:BoundField HeaderText="Avsändare" DataField="Sender" />
<asp:BoundField HeaderText="Ämne" DataField="Head" />
</Columns>
</asp:GridView>
Code-Behind:
protected void Page_Load(object sender, EventArgs e)
{
gvMessages.DataSource = con.GetMails(con.GetId(Membership.GetUser().UserName));
gvMessages.DataBind();
}
Nicht sicher, dass all dies ist necessery für das problem, aber hier ist die Methode in meiner wcf-Projekt, das füllt meine zusammengesetzte Klasse mit Objekt-info
public List<MailInfo> GetMails(int id)
{
using (var client = new datingEntities())
{
var result = client.Mail.Where(x => x.SentTo == id).Select(x => new MailInfo
{
Message = x.Mail1,
Reciever = x.SentTo,
Read = (bool)x.IsRead,
Sender = (int)x.SentFrom,
Head = x.Subject
}).ToList();
return result;
}
}
Composite-Klasse:
[DataContract]
public class MailInfo : Mail
{
[DataMember]
public string Message { get; set; }
[DataMember]
public int Reciever { get; set; }
[DataMember]
public bool Read { get; set; }
[DataMember]
public int Sender { get; set; }
[DataMember]
public string Head { get; set; }
}
- Sie können nicht finden, was? Beachten Sie, dass sollten Sie die databind-Methode der
GridView
nurif(!Page.IsPostBack)
. - Sie sind verbindlich, wieder auf der select-Zeile event?
Du musst angemeldet sein, um einen Kommentar abzugeben.
Sollten Sie die databind-Methode der
GridView
nurif(!Page.IsPostBack)
.Wenn Sie möchten, um eine Zeile zu wählen, auf klicken, können Sie javascript verwenden:
Nun können Sie die
SelectedIndexChangedEvent
, wenn der Benutzer klickt irgendwo in die Zeile:Sollten Sie die
OnSelectedIndexChanged
Veranstaltung.Dann in der Ereignis-definition, können Sie abrufen das ausgewählte Element und alles tun, was müssen Sie von dort aus.
Beispiel aus der MSDN-offizielle Dokumentation.