Here's how to dynamically change the columns shown in a grid on a webpage. Use
a single GridView and dynamically change its content as your data changes:
protected void btnShowCompany_Click(object sender, EventArgs e)
{
myGridView.DataSource = MyCustomerTable;
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)
{
myGridView.DataSource = MyContactTable;
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);
}
from a solution provided by Çetin Basöz in Message #1134680
|