C# コードを使用して ASP.NET GridView を手動で作成し、ページングを有効にしています。ユーザーがあるページから別のページに移動すると、画面上の内容に応じて列幅が調整されます。ユーザーがどのページにいても GridView 列を同じままにしたいと思います (できれば、各列は特定の列の最大文字長に設定されます)。誰かがこれを達成するための最善の行動方針を提案できますか. これがGridViewにデータを入力する方法です
private void BindData(string sortExpression, string sortDirection)
{
db_set_connection_string.set_db_connnection_string(configuration_manager.GetConfigValue("DBSTRING.1"));
db_set_connection_string.set_individual_global_variables(configuration_manager.GetConfigValue("DBSTRING.1"));
sSQLResults = db_connector_mysql.execute_query_with_results_returned("SELECT * From city", false);
//Dynamically create columns
foreach (DataColumn column in sSQLResults.Columns)
{
//So we aren't getting duplicates, we need to check to see if it exists first
if (DoesColumnExistInGridView(column.ColumnName) == false)
{
BoundField nameColumn = new BoundField();
nameColumn.DataField = column.ColumnName;
nameColumn.HeaderText = column.ColumnName;
nameColumn.SortExpression = column.ColumnName;
GridView1.Columns.Add(nameColumn);
}
}
this.GridView1.DataSource = sSQLResults;
if (sortExpression != null)
{
sSQLResults.DefaultView.Sort = sortExpression + " " + sortDirection;
}
this.GridView1.DataBind();
}