테이블의 데이터를 winform에 표시하는 데 도움이 필요합니다. 일반적으로 이것은 datagridview를 사용하여 수행 할 수 있지만 datagridvide는 테이블의 전체 내용을 표시하거나 필터 함수를 사용하여 필터와 일치하는 데이터를 표시 할 수 있습니다.C# winform 응용 프로그램의 테이블에서 데이터 표시
내가 현재 직면하고있는 문제는 book_issued라는 테이블이 있습니다.이 테이블에는 학생에게 발행 된 모든 책의 세부 정보가 들어 있으며 각 학생마다 고유 한 자료가 있습니다.
나는 로그인 할 때 학생의 레지가의 가치를 얻은 로그인 양식을 가지고 있으며, 학생이 발행 된 모든 책의 목록을 표시해야하는 다른 양식으로 안내합니다.
내가 SQL 쿼리"SELECT * FROM book_issued WHERE regid = @regid"
내가 DataReader를에서 데이터를 parametarized 값을 전달 독서의 과정을 생략하고를 실행하고 있음을 달성하기 위해.
내 문제는 양식에 데이터를 표시하는, 어떤 도움을 크게 감상 할 수있다 그것을private void student_Load(object sender, EventArgs e)
{
// TODO: This line of code loads data into the 'libDataSet8.issue' table. You can move, or remove it, as needed.
this.issueTableAdapter1.Fill(this.libDataSet8.issue);
// TODO: This line of code loads data into the 'libDataSet7.issue' table. You can move, or remove it, as needed.
//this.issueTableAdapter.Fill(this.libDataSet7.issue);
//// TODO: This line of code loads data into the 'libDataSet6.books' table. You can move, or remove it, as needed.
//this.booksTableAdapter.Fill(this.libDataSet6.books);
}
private void nameToolStripButton_Click(object sender, EventArgs e)
{
try
{
this.booksTableAdapter.name(this.libDataSet6.books, nameToolStripTextBox.Text);
}
catch (System.Exception ex)
{
System.Windows.Forms.MessageBox.Show(ex.Message);
}
}
//Get Student Details
private void student_details(string input)
{
query = "SELECT * FROM student WHERE regid = @regid";
string conString = Properties.Settings.Default.libConnectionString;
using (SqlCeConnection conn = new SqlCeConnection(conString))
{
conn.Open();
using (SqlCeCommand cmd = new SqlCeCommand(query, conn))
{
cmd.Parameters.AddWithValue("@regid", input);
cmd.ExecuteNonQuery();
SqlCeDataReader reader = cmd.ExecuteReader();
while (reader.Read())
{
dob = reader["dob"].ToString();
sbook = Convert.ToInt32(reader["book"].ToString());
fine = Convert.ToDouble(reader["fine"].ToString());
}
string temp = dob.Substring(5, 4);
int years = DateTime.Now.Year - Convert.ToInt32(temp);
sage = years;
}
}
}
//Method to validate user inputs
private bool ValidateISBNi()
{
bool bStatus = true;
if (isbni.Text == string.Empty)
{
errorProvider2.SetError(isbni, "");
errorProvider1.SetError(isbni, "Please Enter ISBN code");
bStatus = false;
}
else
{
query = "SELECT * FROM books WHERE isbn = @isbn";
string conString = Properties.Settings.Default.libConnectionString;
using (SqlCeConnection conn = new SqlCeConnection(conString))
{
conn.Open();
using (SqlCeCommand cmd = new SqlCeCommand(query, conn))
{
cmd.Parameters.AddWithValue("@isbn", isbni.Text);
cmd.ExecuteNonQuery();
SqlCeDataReader reader = cmd.ExecuteReader();
while (reader.Read())
{
counter = 1;
}
}
}
if (counter == 1)
{
errorProvider1.SetError(isbni, "");
errorProvider2.SetError(isbni, "Good");
counter = 0;
}
else
{
errorProvider2.SetError(isbni, "");
errorProvider1.SetError(isbni, "Invalid ISBN code");
bStatus = false;
}
}
return bStatus;
}
private bool ValidateISBNr()
{
bool bStatus = true;
if (isbni.Text == string.Empty)
{
errorProvider2.SetError(isbnr, "");
errorProvider1.SetError(isbnr, "Please Enter ISBN code");
bStatus = false;
}
else
{
query = "SELECT * FROM issue WHERE isbn = @isbn AND rgid = @rgid";
string conString = Properties.Settings.Default.libConnectionString;
using (SqlCeConnection conn = new SqlCeConnection(conString))
{
conn.Open();
using (SqlCeCommand cmd = new SqlCeCommand(query, conn))
{
cmd.Parameters.AddWithValue("@isbn", isbnr.Text);
cmd.Parameters.AddWithValue("@rgid", Variables.regid);
cmd.ExecuteNonQuery();
SqlCeDataReader reader = cmd.ExecuteReader();
while (reader.Read())
{
counter = 1;
}
}
}
if (counter == 1)
{
errorProvider1.SetError(isbnr, "");
errorProvider2.SetError(isbnr, "Good");
counter = 0;
}
else
{
errorProvider2.SetError(isbni, "");
errorProvider1.SetError(isbni, "Invalid ISBN code");
bStatus = false;
}
}
return bStatus;
}
private void isbni_Validating(object sender, CancelEventArgs e)
{
ValidateISBNi();
}
private void isbnr_Validating(object sender, CancelEventArgs e)
{
ValidateISBNr();
}
private void button1_Click(object sender, EventArgs e)
{
bool vissue;
vissue = ValidateISBNi();
if (vissue)
{
}
}
private void button3_Click(object sender, EventArgs e)
{
this.Close();
}
private void groupBox3_Enter(object sender, EventArgs e)
{
}
}
}
없이 질문을 부결 할 문제지만 PPL과 아무 상관이
바보 코드 거기에 ne1 도움이 임의의 코드 잔뜩 추가했습니다? 나는 그것을 생각하지 않았다. 그래서 내가 처음에 그것을 게시하지 못했을 것이다.
데이터 바인딩 된 DGV를 사용하는 경우 a) 데이터 집합으로 전송되는 행 수를 결정하고 b) DGV에서 전송되고 생성 된 열입니다. 그러나 네비게이션 컨트롤을 만들고 레이블, 체크 박스 텍스트 상자 등과 같은 다양한 컨트롤에 바운드 데이터를 복사 할 수도 있습니다. – TaW
때로는 이런 일이 발생합니다. 그것은 종종 그 질문이 앞으로 다른 사람들에게 거의 사용되지 않는다고 믿는 것을 의미합니다. 그것의 아무것도 생각하지 - 또는 너무 많이! – TaW