のIm Beginerにロードし、ネット上で見つけたスピンコードを実行しようとします。DataGridの最初の列をC#
私の心配は、データグリッドの最初の行の値が欲しいということです。テキストボックスにフォームを起動すると自動的にロードされます。
私はこのコードをうまく動作させていますが、データグリッドラインをクリックしなければテキストボックスに値が表示されません。
コード:
namespace SQLiteTEST
{
public partial class Form1 : Form
{
private SQLiteConnection connection;
private String SQLSelect = "SELECT * FROM User";
public Form1()
{
InitializeComponent();
connection = new SQLiteConnection("Data Source=BddTest.s3db;Version=3;");
}
private void search()
{
dataGrid1.RowEnter -= dataGrid_RowEnter;
if (connection.State != ConnectionState.Open)
connection.Open();
SQLiteCommand command = connection.CreateCommand();
command.CommandText = SQLSelect;
DataTable dt = new DataTable();
SQLiteDataAdapter da = new SQLiteDataAdapter(command);
da.Fill(dt);
dataGrid1.DataSource = dt;
connection.Close();
dataGrid1.RowEnter += dataGrid_RowEnter;
}
private void dataGrid_RowEnter(object sender, DataGridViewCellEventArgs e)
{
int ID = int.Parse(dataGrid1.Rows[e.RowIndex].Cells[0].Value.ToString());
String Data1 = (String)dataGrid1.Rows[e.RowIndex].Cells[1].Value;
txtId.Text = ID.ToString();
txtName.Text = Data1;
}
private void Form1_Load(object sender, EventArgs e)
{
search();
}
private void dataGrid_DataError(object sender, DataGridViewDataErrorEventArgs e)
{
MessageBox.Show("erreur");
}
private void button1_Click(object sender, EventArgs e)
{
var form_programme = new Form2();
form_programme.Show();
this.Hide();
}
private void dataGrid1_CellContentClick(object sender, DataGridViewCellEventArgs e)
{
}
private void txtName_TextChanged(object sender, EventArgs e)
{
}
private void txtId_TextChanged(object sender, EventArgs e)
{
}
private void dataGrid_CellContentClick(object sender, DataGridViewCellEventArgs e)
{
}
}
}
どのように私はそれをクリックしているかのように最初の行はテキストボックスに表示させることができますか?
アドバイスやサンプルコードをお寄せいただきありがとうございます。
は、row_selectedイベントを同じコードまたは行コマンドイベントでトリレングしましたか? –
このイベントを試すことができますか? void dataGridView1_SelectionChanged(オブジェクト送信者、EventArgs e) { //選択後に発生するコード } –
が動作しません。 – Vozerpa