2009-08-14 5 views
0

Bisher hinzuzufügen ich dies getan habe, bin ich nicht sicher, ob diese richtig oder falschWie eine Zeile in asp.net Rasteransicht

public partial class _Default : System.Web.UI.Page 
{ 
    Label l = new Label(); 
    GridView gv = new GridView(); 
    protected void Page_Load(object sender, EventArgs e) 
    { 
     for (int i = 0; i < 5; i++) 
     { 
      GridViewRow gvr = new GridViewRow(i, i, DataControlRowType.DataRow, DataControlRowState.Normal); 
      gvr.Controls.Add(l); 
      gv. (what to do here) 
     } 

     this.Controls.Add(gv); 

    } 
} 

bitte

ist

Antwort

5
gv.Rows.Add(gvr); 

Wenn Sie helfen‘ re mit einem leeren Grid beginnend, einen einfacheren Weg x Zeilen dynamisch erstellen ist eine Dummy-Liste zu erstellen und sie dann an die Datenquelle festgelegt:

var list = new List<string>(10); // replace 10 with number of empty rows you want 
// for loop to add X items to the list 
gv.DataSource = list; 
gv.DataBind(); 

Wenn Sie dies tun, würde ich empfehlen, es mit einem Repeater zu tun. Es ist viel einfacher zu verwalten.

0

Das DataGrid löst das Ereignis RowCreate aus, wenn eine neue Zeile erstellt wird. Collapse

//OnRowCreated="GridView3_RowCreated" 

protected void GridView3_RowCreated(object sender, GridViewRowEventArgs e) 
{ 

    //When a child checkbox is unchecked then the header checkbox will also be unchecked. 
    if (e.Row.RowType == DataControlRowType.DataRow && (e.Row.RowState == 
    DataControlRowState.Normal || e.Row.RowState == DataControlRowState.Alternate)) 
    { 

    CheckBox chkBxSelect = (CheckBox)e.Row.Cells[1].FindControl("chkselect"); 
    CheckBox chkBxHeader = (CheckBox)this.GridView3.HeaderRow.FindControl("chkHeader"); 
    chkBxSelect.Attributes["onclick"] = string.Format("javascript:ChildClick(
     this,'{0}');", chkBxHeader.ClientID); 
    } 
} 
Verwandte Themen