2016-03-30 2 views
0

Nur versuchen, dies von einem (zieht für alle Datensätze) "alle" OnClick zu einem "einzigen" OnClick. Das zieht die Daten aus einer Gridview, also habe ich eine Schaltfläche in jeder Zeile hinzugefügt, die ich möchte, um die Daten aus dem Datensatz Zeilen und Abfragen in der bestimmten Zeile zu ziehen. Jede Hilfe wäre wünschenswert, wenn sie nicht die foreach ausführen, sondern die zeilenspezifischen Daten erhalten würde. Vielen Dank.Von einer "Alle anzeigen" zu einer Einzelansicht wechseln

protected void btnViewAll_Click(object sender, EventArgs e) 
{ 
    string id = HttpContext.Current.Request.Headers["id"]; 
#if DEBUG 
    if (id == null) 
     id = "111"; // Use my own id for testing locally 
#endif 
    using (aDataContext dc = new aDataContext()) 
    { 
     var query = (from a in dc.aLists 
        where a.ID == id 
        select new 
        { 
         a.aNumber, 
         a.bNumber, 
         a.cNumber, 
         a.dNumber, 
        } 
         ); 

     List<aListItem> List = new List<aListItem>(); 
     foreach (var queryItem in query) 
     { 
      aList.Add(new aListItem() 
      { 
       aNumber = queryItem.aNumber, 
       bNumber = queryItem.bNumber, 
       cNumber = queryItem.cNumber, 
       dNumber = queryItem.dNumber 
      }); 
     } 
     Session["aList"] = aList; 
    } 
    Session["Database"] = null; 
    Response.Redirect("Viewer.aspx" + "?UseList=true"); 
} 

Antwort

0

Verwenden Sie die RowDataBound für Gridview-Steuerelement, so etwas wie:

protected void OnRowDataBound(object sender, System.Web.UI.WebControls.GridViewRowEventArgs e) 
{ 
    if (e.Row.RowType == DataControlRowType.DataRow) 
    { 
     e.Row.Attributes["onclick"] = Page.ClientScript.GetPostBackClientHyperlink(GridView1, "Select$" + e.Row.RowIndex); 
     e.Row.ToolTip = "Click to select this row."; 
    } 
} 

Referenz:

http://www.aspsnippets.com/Articles/Selecting-GridView-Row-by-clicking-anywhere-on-the-Row.aspx

0

Wir können die Bearbeitungsvorlage für die Gridview, verwenden, wenn Wenn der Knopf einer Zeile angeklickt wird, können wir den Zeilenindex leicht finden von wo aus Sie die ID, dann die Daten abfragen, erhalten können, wie Sie

protected void GridView_RowEditing(object sender, GridViewEditEventArgs e) 
    { 
     GridView.EditIndex = e.NewEditIndex; 
    } 
protected void GridView_RowUpdating(object sender, GridViewUpdateEventArgs e) 
    { 


     string id = GridView.DataKeys[e.RowIndex].Value.ToString(); 
    } 

möchte ich hoffe es hilft, wird

Verwandte Themen