У меня проблема. Как добавить элементы в comboBox?Как добавить элементы в combobox?
Я уже попробовал этот код:
comboBox1.Items.Add("--Dates--");
comboBox1.SelectedIndex = 0;
но не может добавлять элементы в COMBOBOX, когда я запустить программу.
Вот код:
public partial class Trans : Form
{
string connectionString = @"Provider=Microsoft.ACE.OLEDB.12.0;Data Source=..\db1.accdb";
private const int CP_NOCLOSE_BUTTON = 0x200;
private Choices _choice;
private DataSet _ds = new DataSet();
private List<DateTime> _startDate = new List<DateTime>();
private List<DateTime> _endDate = new List<DateTime>();
int startDate;
int endDate;
public Trans()
{
InitializeComponent();
}
public Trans(Choices _choice)
: this()
{
this._choice = _choice;
}
private void Trans_Load(object sender, EventArgs e)
{
startDate = (int)DateTime.Today.AddYears(5).Subtract(DateTime.Today).TotalDays + 1;
endDate = (int)DateTime.Today.AddYears(5).Subtract(DateTime.Today).TotalDays + 1;
for (int i = 0; i < startDate; i++)
{
_startDate.Add(DateTime.Today.AddDays(i));
}
for (int i = 0; i < endDate; i++)
{
_endDate.Add(DateTime.Today.AddDays(i));
}
StartDateCollection(sender, e);
this.dataGridView1.Columns["ID"].Visible = false;
this.dataGridView1.Sort(this.dataGridView1.Columns["Times"], System.ComponentModel.ListSortDirection.Ascending);
this.label3.Text = "Welcome, " + UserInformation.CurrentLoggedInUser + " " + " " + "-" + " " + " " + UserInformation.CurrentLoggedInUserType;
this.label3.ForeColor = System.Drawing.Color.White;
dataGridView1.RowPostPaint += new DataGridViewRowPostPaintEventHandler(this.SetRowNumber);
dataGridView1.ClearSelection();
}
private void ViewDatabase(object sender, EventArgs e)
{
using (OleDbConnection conn = new OleDbConnection(connectionString))
{
string query = "SELECT [ProductCode], [Quantity], [Description], [SubTotal], [Total], [IssuedBy], [To], [Dates], [Times] FROM [TransRecord]";
conn.Open();
using (OleDbDataAdapter _adapter = new OleDbDataAdapter(query, conn))
{
_ds.Clear();
_adapter.Fill(_ds, "TransRecord");
dataGridView1.DataSource = null;
dataGridView1.Refresh();
}
dataGridView1.DataSource = _ds.Tables[0];
conn.Close();
}
}
private void SetRowNumber(object sender, DataGridViewRowPostPaintEventArgs e)
{
var grid = sender as DataGridView;
var rowIdx = (e.RowIndex + 1).ToString();
var centerFormat = new StringFormat()
{
Alignment = StringAlignment.Center,
LineAlignment = StringAlignment.Center
};
var headerBounds = new Rectangle(e.RowBounds.Left, e.RowBounds.Top, grid.RowHeadersWidth, e.RowBounds.Height);
e.Graphics.DrawString(rowIdx, this.Font, SystemBrushes.ControlText, headerBounds, centerFormat);
}
private void StartDateCollection(object sender, EventArgs e)
{
comboBox1.DataSource = _startDate;
comboBox1.FormatString = "M/dd/yyyy";
comboBox1.FormattingEnabled = true;
}
private void StartDateCollection_SelectedIndexChanged(object sender, EventArgs e)
{
DateTime comboBox1_SelectedDate = Convert.ToDateTime(comboBox1.SelectedValue);
List<DateTime> tempDate = _endDate.Where(d => d > comboBox1_SelectedDate).ToList<DateTime>();
comboBox2.DataSource = tempDate;
comboBox2.FormatString = "M/dd/yyyy";
comboBox2.FormattingEnabled = true;
}
(.... Другие коды)
Я поставил items.Add в функции StartDateCollection, но она не появится строка, которая добавляется в , появляются только даты.
Как это исправить?
Спасибо.
Или, я хотел бы иметь от первой записи транзакции даты.
Пример: У меня есть запись транзакции в этот день 24 September 2013
, но когда я открываю программу на завтра, я не могу открыть запись транзакций на 24 September 2013
, потому что дата 24 September 2013
уже исчезла. Я хочу, чтобы элементы со списком отображались с первой даты записи транзакции.
Я ценю ваш ответ Большое вам спасибо!
Вот скриншот:
Как видно из приведенного выше рисунка, дата начала в ComboBox являются Date
, я хочу сделать ---Dates---
до Date
показаны. Так что это будет что-то вроде этого (в COMBOBOX) --- Даты --- 9/24/2013 9/25/2013 ...... (И так далее)
написать comboBox2.DataBind() после этого comboBox2.FormattingEnabled = true; –
нет .DataBind() sir – Kaoru
Вы используете форму asp.net или windows? –