一个Gridview.显示一组数据列表
一个panel.
GridView中有一个选择按扭
问题1:怎样把这个选择按扭设置成BUTTON模式?(现在是HyperLink)
问题2:当点击BUTTON的时候。怎样才能取得选择的这一行的参数值?是否是取主键?
如果取得主键以后。我要将这个主键数值显示在西面panel的TEXT1中。应该怎么做?

解决方案 »

  1.   

    如果用的默认的选择按钮把这个选择按扭设置成BUTTON模式<asp:GridView ID="GridView1" runat="server">
    <Columns>
    <asp:CommandField ButtonType="Button" ShowSelectButton="True" />
    </Columns>
    </asp:GridView>
      

  2.   

    得到选中行的主键数值,前提是GridView有设置过DataKeyNames="主键字段"        protected void GridView1_SelectedIndexChanging(object sender, GridViewSelectEventArgs e)
            {
                TextBox1.Text = GridView1.DataKeys[e.NewSelectedIndex].Value.ToString();
            }
      

  3.   

    问题1:怎样把这个选择按扭设置成BUTTON模式?(现在是HyperLink)
    -------------------------------
    直接换成button就行了啊
    假设你绑定的是DATASET,主键字段是id.
    在gridview中加1个模板列,模板列放1个BUTTON,社会只button 的CommandName="myEdit" CommandArgument='Eval("id")'然后注册gridview的RowCommand事件,在gridview的RowCommand中写下面的代码:if(e.CommandName="myEdit")
    {
       // 取你点击行的主键值
       string id = e.CommandArgument;
       // 赋值给panel的TEXT1中
       TEXT1.Text = id;
    }
      

  4.   

    问题1:怎样把这个选择按扭设置成BUTTON模式?(现在是HyperLink)
    使用模板列
    问题2:当点击BUTTON的时候。怎样才能取得选择的这一行的参数值?是否是取主键?
    如果取得主键以后。我要将这个主键数值显示在西面panel的TEXT1中。应该怎么做?
    设置
    GridView1.DataKeyNames = "主键字段名";
    设置Button 的CommandName="select";
    在GridView1的SelectedIndexChanged事件中给panel的TEXT1赋值
    GridView1.SelectedDataKey[0] //取主键字段值
      

  5.   

    <asp:GridView ID="GridView1" runat="server">
    <Columns>
    <asp:CommandField ButtonType="Button" ShowSelectButton="True" />
    </Columns>
    </asp:GridView>或者建立一个模板列放一个Button然后设置Button的CommandName="Select"
      

  6.   

    无法从其“ButtonType”属性的字符串表示形式“选择”创建“System.Web.UI.WebControls.ButtonType”类型的对象。什么意思?
      

  7.   

    <asp:GridView ID="GridView1" runat="server">
    <Columns>
    <asp:CommandField ButtonType="Button" ShowSelectButton="True" />
    </Columns>
    </asp:GridView>
    得到选中行的主键数值,前提是GridView有设置过DataKeyNames="主键字段"        protected void GridView1_SelectedIndexChanging(object sender, GridViewSelectEventArgs e)
            {
                TextBox1.Text = GridView1.DataKeys[e.NewSelectedIndex].Value.ToString();
            }
      

  8.   

    前:
                    <asp:GridView ID="GridView3" runat="server" BackColor="White" BorderColor="#3366CC"
                                        BorderStyle="None" BorderWidth="1px" CellPadding="1" Font-Size="10pt" Height="73px"
                                        Width="379px" AutoGenerateColumns=False OnSelectedIndexChanged="GridView3_SelectedIndexChanged" >
                                        <FooterStyle BackColor="#99CCCC" ForeColor="#003399" />
                                        <RowStyle BackColor="White" ForeColor="#003399" />
                                        <SelectedRowStyle BackColor="#009999" Font-Bold="True" ForeColor="#CCFF99" />
                                        <PagerStyle BackColor="#99CCCC" ForeColor="#003399" HorizontalAlign="Left" />
                                        <HeaderStyle BackColor="#003399" Font-Bold="True" ForeColor="#CCCCFF" />
                                         <Columns>
                                <asp:BoundField DataField="cartid" HeaderText="订单编号" />
                                <asp:BoundField DataField="inusername" HeaderText="收货人姓名" />
                                <asp:BoundField DataField="loginname" HeaderText="下单人"  />  
                                <asp:BoundField DataField="addtime" HeaderText="下单时间"  />                                                   
                                 <asp:CommandField ButtonType=Button HeaderText="查看详单" ShowSelectButton="True" />                                                     
                            </Columns>                                </asp:GridView>
    绑定:
       sql = "select * from scb_cart where loginname='" + Session["login_name"] + "'";
            SqlDataAdapter myda = new SqlDataAdapter(sql, MyConn);
            DataSet myds = new DataSet();
            MyConn.Open();
            myda.Fill(myds, "gw");
            GridView3.DataSource = myds;
            GridView3.DataKeyNames = new string[] { "id" };//主键
            GridView3.DataBind();
    选择:
      protected void GridView3_SelectedIndexChanged(object sender, EventArgs e)
        {
            Lbcartitem.Text = GridView1.DataKeys[e.NewSelectedIndex].Value.ToString();
        }出错:“System.EventArgs”并不包含“NewSelectedIndex”的定义
      

  9.   

    <asp:GridView ID="GridView3" runat="server" BackColor="White" BorderColor="#3366CC"
    BorderStyle="None" BorderWidth="1px" CellPadding="1" Font-Size="10pt" Height="73px"
    Width="379px" AutoGenerateColumns=False OnSelectedIndexChanged="GridView3_SelectedIndexChanged" onselectedindexchanging="GridView3_SelectedIndexChanging">  void GridView3_SelectedIndexChanging(Object sender, GridViewSelectEventArgs e)
      {
            
        Lbcartitem.Text = GridView1.DataKeys[e.NewSelectedIndex].Value.ToString();
      }
      

  10.   

    或者
    protected void GridView3_SelectedIndexChanged(object sender, EventArgs e)
      {
        
        GridViewRow row = GridView3.SelectedRow;
            
        Lbcartitem.Text = GridView3.DataKeys[GridViewRow.DataItemIndex].Value.ToString();
        
      }PS: 你的Lbcartitem.Text = GridView1.DataKeys[e.NewSelectedIndex].Value.ToString();
       应该是GridView3.DataKeys而不是GridView1.DataKeys