私は、sqldatasourceを介してローカルSQLデータベースからグリッドビューを作成しました。
sqldatasource の選択コマンドは次のとおりです。SelectCommand="SELECT * FROM [CERecord] ORDER BY [Priority]"
私のコード ビハインドには、すべてのレコード、アクティブなレコード、完了したレコードのいずれかを表示するラジオ ボタン リストがあります。
protected void rblShowRecords_SelectedIndexChanged(object sender, EventArgs e)
{
switch (rblShowRecords.SelectedValue)
{
case "Show Active/Completed":
CEDatabaseSource.SelectCommand = "SELECT * FROM [CERecord] ORDER BY [Priority]";
break;
case "Show Active":
CEDatabaseSource.SelectCommand = "SELECT * FROM [CERecord] WHERE [Completed]='false' ORDER BY [Priority]";
break;
case "Show Completed":
CEDatabaseSource.SelectCommand = "SELECT * FROM [CERecord] WHERE [Completed]='true' ORDER BY [Priority]";
break;
default:
break;
}
CEDatabaseSource.DataBind();
gvRecordList.DataBind();
}
アクティブのみまたは完了のみのモードで行を更新しようとすると、上記の方法で新しいコマンドを設定したにもかかわらず、すべての行が表示され始めたように見えるという奇妙な問題が発生しています。
グリッドビューの行で更新をクリックすると、常にデフォルトの選択コマンドが実行されますSelectCommand="SELECT * FROM [CERecord] ORDER BY [Priority]"
か?