Windows Forms 응용 프로그램에서 DataGrid보기를 사용하고 있습니다. 날짜 날짜 열을 표시하는 여러 데이터 표가 있습니다. 데이터를 표시 할 때 날짜가 올바르게 표시되지만 항상 '00 : 00 : 00'이 뒤에옵니다. 날짜를 'dd/mm'yyyy'로만 표시하도록 어떻게 변경할 수 있습니까? 또한DataGrid보기 열의 데이터 표시 문제
//Populate customers datagrid view
private void displayInGrid_Customers(string sqlcmd)
{
customersDataGridView.Rows.Clear();
connect.Open();
command.Connection = connect;
command.CommandText = sqlcmd;
reader = command.ExecuteReader();
while (reader.Read())
{
// add a row (get index)
int arow = customersDataGridView.Rows.Add();
// datagridname.row[index].cells.value = reader[table].tostring()
customersDataGridView.Rows[arow].Cells[0].Value = reader["Customer_ID"].ToString();
customersDataGridView.Rows[arow].Cells[1].Value = reader["Forename"].ToString();
customersDataGridView.Rows[arow].Cells[2].Value = reader["Surname"].ToString();
customersDataGridView.Rows[arow].Cells[3].Value = reader["Address"].ToString();
customersDataGridView.Rows[arow].Cells[4].Value = reader["Town"].ToString();
customersDataGridView.Rows[arow].Cells[5].Value = reader["Postcode"].ToString();
customersDataGridView.Rows[arow].Cells[6].Value = reader["Date_Of_Birth"].ToString();
customersDataGridView.Rows[arow].Cells[7].Value = reader["Phone_Number"].ToString();
customersDataGridView.Rows[arow].Cells[8].Value = reader["Email"].ToString();
customersDataGridView.Rows[arow].Cells[9].Value = reader["Current_Rental"].ToString();
customersDataGridView.Sort(Surname, ListSortDirection.Ascending);
}
reader.Close();
connect.Close();
}
//Display all customers button
private void button_view_all_customers_Click(object sender, EventArgs e)
{
command.CommandText = "SELECT CUSTOMERS.Customer_ID, CUSTOMERS.Forename, CUSTOMERS.Surname, CUSTOMERS.Address, "
+ "CUSTOMERS.Town, CUSTOMERS.Postcode, CUSTOMERS.Date_Of_Birth, CUSTOMERS.Phone_Number, CUSTOMERS.Email, CUSTOMERS.Current_Rental "
+ "from CUSTOMERS LEFT JOIN STOCK ON CUSTOMERS.Current_Rental = STOCK.Product_ID";
string cmd = command.CommandText;
displayInGrid_Customers(cmd);
나는 다른 데이터 그리드에서 또 다른 문제를 가지고 다음과 같이
나는 내 데이터 그리드를 구축 할 수 있습니다. 이 테이블에는 지불 열이 있는데 원래 테이블을 액세스 할 때 열의 데이터는 '4.99'와 같았으며 예상대로 오른쪽 정렬되었습니다.하지만 표시 할 때 '£'기호가없고 왼쪽에 맞 춥니 다. . 그 데이터 그리드에 대한
코드 : 제 부 시도 들어
//Populate payments datagrid view
private void displayInGrid_Payments(string sqlcmd)
{
paymentsDataGridView.Rows.Clear();
connect.Open();
command.Connection = connect;
command.CommandText = sqlcmd;
reader = command.ExecuteReader();
while (reader.Read())
{
// add a row (get index)
int arow = paymentsDataGridView.Rows.Add();
paymentsDataGridView.Rows[arow].Cells[0].Value = reader["Customer_ID"].ToString();
paymentsDataGridView.Rows[arow].Cells[1].Value = reader["Payment"].ToString();
paymentsDataGridView.Rows[arow].Cells[2].Value = reader["Payment_Date"].ToString();
}
reader.Close();
connect.Close();
}
//Display all payments
private void button_display_payments_Click(object sender, EventArgs e)
{
command.CommandText = "SELECT PAYMENTS.Customer_ID, PAYMENTS.Payment, PAYMENTS.Payment_Date "
+ "from PAYMENTS LEFT JOIN CUSTOMERS ON PAYMENTS.Customer_ID = CUSTOMERS.Customer_ID";
string cmd = command.CommandText;
displayInGrid_Payments(cmd);
}
제 첫 번째 문제에 완벽하게 작동했습니다. 매우 감사드립니다. – DarkBlueMullet
편집 – shingonati0n
안녕하세요. 오류가 발생했습니다 '메서드에 대한 오버로드가 없습니다'ToString '인수가 1 개 있습니다. 어쩌면 ((DateTime)과 같은 십진수를 선언해야합니까? datetime이 첫 번째 예제에 있지만 십진수를 넣지 만 작동하지 않습니다.) – DarkBlueMullet