0

グリッドビューがあります

<asp:GridView ID="wbsdataGV1" runat="server" Width="790px" AutoGenerateColumns="False"
    OnSelectedIndexChanged="wbsdataGV1_SelectionChanged" DataKeyNames="WBSCode">
    <Columns>

    <asp:TemplateField HeaderText="WBS Code">
         <ItemTemplate>
              <asp:LinkButton ID="LinkButton1" runat="server" Text='<%# Eval("WBSCode") %>'></asp:LinkButton>
         </ItemTemplate>
         <ControlStyle Width="100px" />
         <ItemStyle BorderStyle="Solid" BorderWidth="1px" />
         </asp:TemplateField>
    <asp:TemplateField HeaderText="Description">
    <ItemTemplate>
         <asp:TextBox ID="TextBox40" runat="server" Text='<%# Eval("Description") %>' ReadOnly="true"
                                                    Width="300px">
          </asp:TextBox>
      </ItemTemplate>
      <ControlStyle Width="300px" />
      <ItemStyle BorderStyle="Solid" BorderWidth="1px" />
   </asp:TemplateField>
   <asp:TemplateField HeaderText="Territory Code">
       <ItemTemplate>
          <asp:Label ID="Label45" runat="server" Text='<%# Eval("TerritoryCode") %>'></asp:Label>
       </ItemTemplate>
       <ControlStyle Width="100px" />
       <ItemStyle BorderStyle="Solid" BorderWidth="1px" />
   </asp:TemplateField>
   <asp:TemplateField HeaderText="Amount">
      <ItemTemplate>
           <asp:Label ID="Label46" runat="server" Text='<%# Eval("AmountReleased") %>'></asp:Label>
      </ItemTemplate>
      <ControlStyle Width="100px" />
      <ItemStyle BorderStyle="Solid" BorderWidth="1px" />
   </asp:TemplateField>
   </Columns>
   <HeaderStyle BackColor="Wheat" BorderStyle="Solid" BorderWidth="1px" />
   <RowStyle BorderStyle="Solid" BorderWidth="1px" HorizontalAlign="Center" 
</asp:GridView>

今度はリンクボタンをクリックして、同じページでその行のデータを取得して表示したいと思います...

使ってます

protected void wbsdataGV1_SelectionChanged(object sender, EventArgs e)
{
    string rowID = (string)this.wbsdataGV1.SelectedDataKey.Value;
    con.Open();
    SqlCommand cmd = new SqlCommand(" select WBSCode,Description,TerritoryCode,AmountReleased from WBS where WBSCode='"+rowID+"'");
    cmd.Connection = con;
    SqlDataAdapter da = new SqlDataAdapter(cmd);
    DataTable dt = new DataTable();
    da.Fill(dt);
    if (dt.Rows.Count > 0)
    {
        wbssearchdata1.DataSource = dt;
        wbssearchdata1.DataBind();
    }

    con.Close();
}

このコードですが、クリックしても起動しません..では、どうすればこれを解決できますか..ヘルプはありますか?

4

1 に答える 1

1

あなたのコードから、SelectedIndexChangedイベントを発生させるボタンを指定した場所はどこにも見つかりませんでした。これらを行う必要があります

<asp:GridView OnSelectedIndexChanged="wbsdataGV1_SelectionChanged"  
              AutoGenerateSelectButton="true" />

または

<asp:GridView OnSelectedIndexChanged="wbsdataGV1_SelectionChanged">
<Columns>
   <asp:CommandField ShowSelectButton="true" />
</Columns>
</asp:GridView>

または

   <asp:GridView OnSelectedIndexChanged="wbsdataGV1_SelectionChanged">
   <Columns>
    <asp:TemplateField>
    <ItemTemplate>
        <asp:LinkButton runat="server" ID="Selecting" CommandName="Select" Text="Select Row"></asp:LinkButton>
    </ItemTemplate>
    </asp:TemplateField>
   </Columns>
   </asp:GridView>
于 2012-11-07T12:51:44.623 に答える