データグリッドビューでダブルクリックされた行のレコードだけを表示
- 題名: データグリッドビューでダブルクリックされた行のレコードだけを表示
- 著者: しぃーちゃん
- 日時: 2011/04/06 15:57:31
- ID: 28410
- この記事の返信元:
- この記事への返信:
- ツリーを表示
- 題名: Re[1]: データグリッドビューでダブルクリックされた行のレコードだけを表示
- 著者: shu
- 日時: 2011/04/07 23:21:13
- ID: 28416
- この記事の返信元:
- この記事への返信:
- ツリーを表示
- 題名: Re[2]: データグリッドビューでダブルクリックされた行のレコードだけを表示
- 著者: しぃーちゃん
- 日時: 2011/04/09 12:30:20
- ID: 28421
- この記事の返信元:
- この記事への返信:
- ツリーを表示
分類:[.NET]
Visual Studio 2005にて、言語はC#で勉強をしていますが、
住所録のアプリを作成してどうしてもForm1のデータグリッドビュー
(addresstureTable_1DataGridView)のセルをダブルクリックして、
Form2のフォームを開いたときに、データグリッドビューでダブルクリックされた行のレコードだけが、
表示されるように実現したいのですが、テーブルバインディングソースのFilterプロパティを設定したいのですが、
設定の仕方がいまいち分からず、また以下のコードで後は何が足りないのでしょうか?
今まで、概要はデータソースウィンドウからAddresstureTable_1の詳細を選択して、
AddresstureTable_1をフォーム上にドラック&ドロップし、自動生成はしています。
CellContentDoubleClickイベントには、
クリックされた行番号の取得addresstureTable_1DataGridView.Rows[e.RowIndex].Cells[0].Value.ToString();
までは出来ているのですが、Form2のフォームを開いたときに、
どうしても選択したレコードだけを表示できません。
アドバイスよろしくお願いします。
Form1.csのコード
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
namespace WindowsApplication2
{
public partial class Form1 : Form
{
以下省略〜
private void addresstureTable_1DataGridView_CellContentClick(object sender, DataGridViewCellEventArgs e)
{
// 単票形式のインスタンスを作成する
Form2 tForm = new Form2();
// 単票形式のダイアログボックスを作成する
DialogResult tret = tForm.ShowDialog();
}
private void addresstureTable_1DataGridView_CellContentDoubleClick(object sender, DataGridViewCellEventArgs e)
{
Filter =
addresstureTable_1DataGridView.Rows[e.RowIndex].Cells[0].Value.ToString();
}
Form2.csのコード
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
namespace WindowsApplication2
{
public partial class Form2 : Form
{
public Form2()
{
InitializeComponent();
}
// フィルタ
public string Filter;
private void addresstureTable_1BindingNavigatorSaveItem_Click(object sender, EventArgs e)
{
this.Validate();
this.addresstureTable_1BindingSource.EndEdit();
this.addresstureTable_1TableAdapter.Update(this.addresstureWorksDataSet.AddresstureTable_1);
}
private void Form2_Load(object sender, EventArgs e)
{
// TODO: このコード行はデータを 'addresstureWorksDataSet.AddresstureTable_1' テーブルに読み込みます。必要に応じて移動、または削除をしてください。
this.addresstureTable_1TableAdapter.Fill(this.addresstureWorksDataSet.AddresstureTable_1);
}
private void button1_Click(object sender, EventArgs e)
{
this.Close();
}
}
}