0

Hi I am using DataTable and DevaultView.RowFilter to display a DataGridView.

I have a column with date (dd/mm/yyyy).

String filter = String.Format(@"account_name LIKE '{0}*' AND type_name='{2}' AND Convert( transaction_date, System.DateTime ) < '{1}' OR is_edited ='true' ", this.accountName, this.dateTimePickerTransactionFrom.Value.ToString(), this.radioButtonDebit.Checked ? "Debit" : "Credit");
transactionsAll.DefaultView.RowFilter = filter;
DefaultView_ListChanged();

It ends up in an error:

String was not recognized as a valid DateTime.

4

1 回答 1

0

谢谢各位,
我解决了问题。
我将数据库查询从

SELECT     transactions.transaction_id, transactions.transaction_amound, CONVERT(char(10), transactions.transaction_date, 103) AS transaction_date, 
                  transaction_type.type_name, transaction_type.description, accounts.account_name, accounts.user_id
FROM         transactions INNER JOIN
                  transaction_type ON transactions.type_id = transaction_type.type_id INNER JOIN
                  accounts ON transactions.account_id = accounts.account_id
WHERE     (accounts.user_id = @UserId)


SELECT     transactions.transaction_id, transactions.transaction_amound, transactions.transaction_date, transaction_type.type_name, 
                  transaction_type.description, accounts.account_name, accounts.user_id
FROM         transactions INNER JOIN
                  transaction_type ON transactions.type_id = transaction_type.type_id INNER JOIN
                  accounts ON transactions.account_id = accounts.account_id
WHERE     (accounts.user_id = @UserId)


    private void ConstraintChanged()
    {
        String filter = String.Format(@"account_name LIKE '{0}*' AND type_name='{2}' " +
                @"AND Convert( transaction_date, System.DateTime ) > '{1}' OR is_edited ='true' ",
            this.accountName,
            this.dateTimePickerTransactionFrom.Value,
            this.radioButtonDebit.Checked ? "Debit" : "Credit");
        transactionsAll.DefaultView.RowFilter = filter;
        DefaultView_ListChanged();
    } 
于 2013-05-29T04:22:53.523 回答