Διαβάστε τα δεδομένα από SqlDataSource ή GridView

ψήφοι
0

Έχω SqlDataSource και GridView σε φόρμα. GridView.DataSourceID = mySqlDataSource.

Όταν καλώ myGridView.DataBind (), όλα τα δεδομένα που συνδέονται με επιτυχία στη σελίδα.

Πώς είναι δυνατόν να διαβάσει ήδη πήρε στοιχεία από mySqlDataSource ή myGridView αντικείμενα όπως DataTable ή DataView; Ευχαριστώ

Δημοσιεύθηκε 25/12/2010 στις 20:57
πηγή χρήστη
Σε άλλες γλώσσες...                            


2 απαντήσεις

ψήφοι
0

Εφόσον το σύνολο δεδομένων σας δεν είναι γιγαντιαία, θα μπορούσατε να το αποθηκεύσετε στο Session, δεσμεύονται σας GridViewμε τα Sessionδεδομένα, και στη συνέχεια εκ νέου χρήση των Sessionδεδομένων σε άλλα αντικείμενα ιστοσελίδα σας.

Ο κωδικός σας τότε θα δούμε κάτι σαν αυτό (θα πρέπει να συγχωρήσει οποιεσδήποτε μικρές ανακρίβειες - Είμαι μακριά από το πλαίσιο ανάπτυξης μου αυτή τη στιγμή):

protected override OnInit(object sender, EventArgs e)
{
    base.OnInit();

    if (Page.IsPostback == false)
    {
        SetSessionData();
    }
    //
    // Set your GridView, DataTable, DataView, etc. events here.
    //
}

void SetSessionData();
{
        List<YourDataBoundObject> myDataBoundObject = GetYourDataBoundObject(); // Or Collection<T>, IEnumerable<T>, etc.
        Session["data"] = myDataBoundObject;
}

void YourGridView_Load(object sender, EventArgs e)
{
    BindYourGridView();
}

void BindYourGridView()
{
    YourGridView.DataSource = GetSessionData();
    YourGridView.DataBind();
}

List<YourDataBoundObject> GetSessionData()
{
    return (List<YourDataBoundObject>) Session["data"];
}

void YourDataTable_Load(object sender, EventArgs e)
{
    BindYourDataTable();
}

void BindYourDataTable()
{
    YourDataTable.DataSource = GetSessionData();
    YourDataTable.DataBind();
}
Απαντήθηκε 26/12/2010 στις 03:34
πηγή χρήστη

ψήφοι
1

Τα δεδομένα του το GridView μπορεί να διαβάσει με τη χρήση FindControl ιδιοκτησία του ελέγχου το GridView. Για παράδειγμα, για την ανάγνωση τιμές που καθορίζονται στη στήλη Checkbox στο πλέγμα.

    for (i = 0; i < GridView1.Rows.Count; i++) 

{

            CheckBox chk = (CheckBox)GridView1.Rows[i].FindControl("checkbox1");

            //here code for using value captured in chk 
}
Απαντήθηκε 03/07/2012 στις 17:32
πηγή χρήστη

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more