我希望做一个这样的功能:
GridView控件绑定了以下两个字段:1.时间  2.标题;   我点击标题后,让该标题所对应的文章内容显示在Label1中.如何做到呢?该功能应该在哪个事件中实现呢?另外,谁能给我一个GridView控件的学习资料或是网址,我对它不太理解!我怎么取GridView中的某单元格点击后的内容?
GridView1.Rows[GridView1.SelectedIndex].Cells[0].Text;  我这样写出现错误,请纠正,谢谢!
索引超出范围。必须为非负值并小于集合大小。
参数名: index

解决方案 »

  1.   

    标题行你可以设置成linkbutton控件,绑定标题名字。当点击他的时候响应事件。
    取单元格内容是
    GridView1.Rows[e.NewEditIndex].Cells[0].Text; 
    这里的e.NewEditIndex是linkbutton响应edit事件时,得到的事件所发生的行。
    在51aspx.com上有很多源码,其实msdn上也很多。
      

  2.   

    aspx页面<asp:GridView ID="GridView1" runat="server" CellPadding="4"  AutoGenerateColumns="False" AllowPaging="True"                                 
                                    onrowediting="GridView1_RowEditing">
                          <asp:TemplateField HeaderText="时间">
                                                <ItemTemplate>
                                                    <asp:Label ID="Label1" runat="server" Text='<%# Eval("[时间字段名]") %>'></asp:Label>
                                                </ItemTemplate>
                                            </asp:TemplateField>
    <asp:TemplateField HeaderText="标题">
                                                <ItemTemplate>                                                
                                                    <asp:LinkButton ID="LinkButtonDetail" runat="server" ToolTip="查看详细信息" CommandName="Edit" Text='<%# Eval("[标题字段名]") %>'></asp:LinkButton>
                                                </ItemTemplate>
                                            </asp:TemplateField>
                          </asp:GridView> 后台csprotected void GridViewQuestions_RowEditing(object sender, GridViewEditEventArgs e)
            {
    //得到了标题名称。             
    string strTemp = ((LinkButton)GridView1.Rows[e.NewEditIndex].Cells[1].FindControl("LinkButtonDetail")).Text; 
                ....}
      

  3.   

    后台cs写错了。
    应该是protected void GridView1_RowEditing(object sender, GridViewEditEventArgs e)
    嘿嘿,直接把自己的工程代码给粘过来了。
      

  4.   

    可以在GridView1的SelectedIndexChanged事件中写入
    Label1.Text = GridView1.Rows[GridView1.SelectedIndex].Cells[1].Text;
    当然要有"起用选定内容"
      

  5.   


    请问怎么"启用选定内容"呢?netddayup的方法确实可行,不过我不是很理解,我的明明是选择时激发的事件,为什么确变成了RowEditing事件呢?!谁能为我讲解讲解,谢谢各位啦!如果是使用SelectedIndexChanged事件的话,html代码和code代码该怎么实现呢?我是初学者,麻烦各位大侠了!
      

  6.   

        //如果是SelectedIndexChanged事件
        protected void GridView1_SelectedIndexChanged(object sender, EventArgs e)
        {
            Label1.Text = GridView1.SelectedRow.Cells[1].Text; 
        }    //如果是SelectedIndexChanging事件
        protected void GridView1_SelectedIndexChanging(object sender, GridViewSelectEventArgs e)
        {
            Label1.Text = GridView1.Rows[e.NewSelectedIndex].Cells[1].Text; 
        }
      

  7.   

    请问怎么"启用选定内容"呢? 
    ===============================
    即GridView的每一行有一个选择按钮,这可以通过设置来得到,
    即设置"启用选定内容"
      

  8.   

    前台用一个标签<span></span>
    后台写一个方法,获得点击行的标题
    前台用JS调用后台方法
    直接获得之后写入前台标签中。