Plateforme Level Extreme
Abonnement
Profil corporatif
Produits & Services
Support
Légal
English
Dynamically define GridView columns
Message
De
10/07/2006 08:58:42
Jerry Tovar
Dana Corporation Dana It
Maumee, Ohio, États-Unis
 
 
À
08/07/2006 11:02:11
Cetin Basoz
Engineerica Inc.
Izmir, Turquie
Information générale
Forum:
ASP.NET
Catégorie:
Autre
Versions des environnements
Environment:
ASP.NET
Divers
Thread ID:
01134578
Message ID:
01134919
Vues:
20
Cetin,

Thanks, this works great!

Jerry



>>Using ASP.Net 2.0, can I dynamically define a GridView's columns on a WebForm at runtime?
>>
>>For example, I have an order status WebForm that shows order history, back orders, credits etc... If a user selects the back order view button, I would like to show different columns of data in the GridView than if he selected the credit view button. My GridView control exists on the WebForm, I would just like to display different columns at runtime.
>>
>>It would be similar to a VFP WinForm and defining a grids columns at runtime as such:
>>
>>
>>       ***VFP Code
>>       mygrid.COLUMN1.CONTROLSOURCE  = "orderno"
>>       mygrid.COLUMN2.CONTROLSOURCE  = "partno"
>>       mygrid.COLUMN3.CONTROLSOURCE  = "desc"
>>
>>
>>Can the same thing be done in a ASP.Net WebForm. Or what other ways can I accomplish show different columns in a GridView at runtime.
>>
>>Thanks,
>>
>>Jerry
>
>Jerry,
>You can put a single GridView and dynamically change its content as in VFP. ie:
>
>private SqlDataSource sds;
>
>private void QueryData(string sql)
>{
> ConnectionStringSettingsCollection csc = ConfigurationManager.ConnectionStrings;
> ConnectionStringSettings cs = csc["NorthwindConnectionString"];
> sds = new SqlDataSource(cs.ConnectionString, sql);
>}
>
>protected void btnShowCompany_Click(object sender, EventArgs e)
>{
>  QueryData("select customerID,CompanyName from customers");
>  myGridView.DataSource = sds;
>  myGridView.AutoGenerateColumns = false;
>  myGridView.Columns.Clear();
>  AddField(myGridView,"customerID","customer\'s ID");
>  AddField(myGridView, "companyName", "Company Name");
>  myGridView.DataBind();
>}
>protected void btnShowContact_Click(object sender, EventArgs e)
>{
>  QueryData("select customerID,ContactName,ContactTitle from customers");
>  myGridView.DataSource = sds;
>  myGridView.AutoGenerateColumns = false;
>  myGridView.Columns.Clear();
>  AddField(myGridView,"customerID","customer\'s ID");
>  AddField(myGridView, "contactName", "Contact Name");
>  AddField(myGridView, "contactTitle", "Contact Title");
>  myGridView.DataBind();
>}
>
>private void AddField(GridView gv, string dataField, string caption)
>{
>      BoundField bf = new BoundField();
>      bf.DataField = dataField;
>      bf.HeaderText = caption;
>      gv.Columns.Add(bf);
>}
>
PS: This is a 'quick' sample code. Probably you'd use select * version and use cached data instead.
>Cetin
Précédent
Répondre
Fil
Voir

Click here to load this message in the networking platform