1

次のようなDGVを設定するクエリがあります

private void textBox6_Leave(object sender, EventArgs e)
    {
        DataClasses3DataContext db = new DataClasses3DataContext();

        int matchedAdd = (from c in db.GetTable<prop>()
                          where c.HOUSE_NO.Contains(textBox1.Text) && c.Direction.Contains(textBox2.Text) && c.street.Contains(textBox3.Text) && c.SUFF.Contains(textBox4.Text)
                          select c.ID).SingleOrDefault();

        var before = (from c in db.GetTable<prop>()
                      where c.ID < matchedAdd
                      orderby c.PARCEL descending
                      select c).Take(6);

        var after = (from c in db.GetTable<prop>()
                     where c.ID > matchedAdd
                     orderby c.PARCEL
                     select c).Take(6);

        var endResult = before.Concat(after);

        dgvBRT.DataSource = endResult;

    }

行を選択して、そのクエリによってデータが入力された後、DGV から BRTDetail を開くことができる必要があります。バインドされていないグリッドを使用する必要があったのはこれが初めてです。私が通常使用するコードは以下のとおりです。その時点で BRTDataSet は無関係であるため、明らかに機能しません。この場合、行を選択するにはどうすればよいですか?

        private void dgvBRT_DoubleClick(object sender, EventArgs e)
    {
        System.Data.DataRowView SelectedRowView;
        BRTDataSet.propRow SelectedRow;

        SelectedRowView = (System.Data.DataRowView)propBindingSource.Current;
        SelectedRow = (BRTDataSet.propRow)SelectedRowView.Row;

        frmBRTDetail BRTDetail = new frmBRTDetail(this);
        BRTDetail.LoadBRTNumberKey(SelectedRow.PARCEL, null);
        BRTDetail.LoadBldgKey(SelectedRow.BLDG_CD, null);
        BRTDetail.Show();

    }
4

2 に答える 2

0

これは何かという名前のテンプレートフィールドを作成します:

  <ItemTemplate>
  <asp:LinkButton ID="link_button" runat="server" Text="Select" OnClick="link_button_Click"> </asp:LinkButton>
   </ItemTemplate>

次に、クリックイベントのコードビハインドでこれを行います:

 protected void link_button_Click(object sender, EventArgs e)
   {
       GridViewRow clickedRow = ((LinkButton)sender).NamingContainer as GridViewRow;

       // this selects your row and you can access the controls of your grid. 


   }
于 2013-04-23T20:04:46.570 に答える