我当前正在隐藏GridView中数据库的所有行,直到按下DetailsView中的CommandField(Select)字段。 如何在C#中显示页面加载的第一条记录?
非常感谢任何帮助:)
class Decks < ActiveRecord::Migration
def change
create_table :decks do |t|
t.string :name, null: false
t.string :card
t.integer :user_id, null: false
end
end
end
答案 0 :(得分:0)
我看到了几种方法。我建议您为gridview使用两个不同的SqlDataSource.SelectCommands吗?
首先,从标记中的SQLDATASOURCE中删除SELECTCOMMAND="Select * from table"
,然后使用两种方法在CodeBehind中创建select命令。
当回发为false时加载在Page_Load中的一个,以及单击select时加载的另一个加载,并发生回发。
protected void Page_Load(object sender, EventArgs e)
{
if (Page.IsPostBack == true)
{
sqlcommandall();
}
else
{
sqlcommandone();
}
}
protected void sqlcommandall()
{
SqlDataSource1.SelectCommand = "select * from table order by id";
}
protected void sqlcommandone()
{
SqlDataSource1.SelectCommand = "select top 1 * from table order by id";
}
其他方式是相同的,除了你可以通过在标记中向GridView12声明中添加OnLoad="GridView12_Load"
来触发select命令,而不是Page_load方法,你可以使用:
protected void GridView12_Load(object sender, EventArgs e)
{
if (Page.IsPostBack == true)
{
sqlcommandall();
}
else
{
sqlcommandone();
}
}
以下是有关更改选择命令的一些信息:Need to modify the SelectCommand parameter for SqlDataSource from C#
希望这有帮助!