Ajouter un monthcalander a un datagridview !!
s-racem
Messages postés
18
Statut
Membre
-
chuka Messages postés 980 Statut Membre -
chuka Messages postés 980 Statut Membre -
Bonjour,
j'ai developpé une application en vb.net et je veux ajouté un MonthCalender a un colonne d'un datagridview pour faciliter la saisie d'un date
avez vous une idée comment faire cette truc
j'ai developpé une application en vb.net et je veux ajouté un MonthCalender a un colonne d'un datagridview pour faciliter la saisie d'un date
avez vous une idée comment faire cette truc
A voir également:
- Ajouter un monthcalander a un datagridview !!
- Ajouter à l'écran d'accueil iphone - Guide
- Ajouter un compte whatsapp - Guide
- Impossible d'ajouter un ami sur facebook - Guide
- Ajouter un compte facebook - Guide
- Ajouter un profil netflix - Guide
1 réponse
Salut,
c'est en c# mais tu trouvera facilement le transposé en vb (https://docs.microsoft.com/en-us/dotnet/api/system.windows.forms.monthcalendar?redirectedfrom=MSDN&view=netframework-4.8
En fait cela permet de faire apparaitre un MonthCalendar quand tu cliques sur une cellule de la colonne 3...
C'est peut-etre pas exactement ce que tu souhaite mais ca te donnera peut-etre des idées!!;)
@+
c'est en c# mais tu trouvera facilement le transposé en vb (https://docs.microsoft.com/en-us/dotnet/api/system.windows.forms.monthcalendar?redirectedfrom=MSDN&view=netframework-4.8
public partial class Form1 : Form
{
MonthCalendar monthCalendar1;
int row, coloum;
public Form1()
{
InitializeComponent();
for (int i = 0; i < 4; i++)
{
DataGridViewColumn dt = new DataGridViewColumn(new DataGridViewTextBoxCell());
DataGridViewRow row = new DataGridViewRow();
dt.HeaderText = "Value" + i;
dt.Name = dt.HeaderText;
dataGridView1.Columns.Add(dt);
dataGridView1.Rows.Add(row);
if (i==3)
dataGridView1.CellClick+=new DataGridViewCellEventHandler(OnChanged);
}
}
private void OnChanged(object sender, DataGridViewCellEventArgs e)
{
getCalendar();
monthCalendar1.Show();
coloum=e.ColumnIndex;
row = e.RowIndex;
}
private void getCalendar()
{
this.monthCalendar1 = new System.Windows.Forms.MonthCalendar();
// Set the calendar location.
this.monthCalendar1.Location = new System.Drawing.Point(47, 16);
// Change the color.
this.monthCalendar1.BackColor = System.Drawing.SystemColors.Info;
this.monthCalendar1.ForeColor = System.Drawing.Color.FromArgb(
((System.Byte)(192)), ((System.Byte)(0)), ((System.Byte)(192)));
this.monthCalendar1.TitleBackColor = System.Drawing.Color.Purple;
this.monthCalendar1.TitleForeColor = System.Drawing.Color.Yellow;
this.monthCalendar1.TrailingForeColor = System.Drawing.Color.FromArgb(
((System.Byte)(192)), ((System.Byte)(192)), ((System.Byte)(0)));
// Add dates to the AnnuallyBoldedDates array.
this.monthCalendar1.AnnuallyBoldedDates =
new System.DateTime[] { new System.DateTime(2002, 4, 20, 0, 0, 0, 0),
new System.DateTime(2002, 4, 28, 0, 0, 0, 0),
new System.DateTime(2002, 5, 5, 0, 0, 0, 0),
new System.DateTime(2002, 7, 4, 0, 0, 0, 0),
new System.DateTime(2002, 12, 15, 0, 0, 0, 0),
new System.DateTime(2002, 12, 18, 0, 0, 0, 0)};
// Add dates to BoldedDates array.
this.monthCalendar1.BoldedDates = new System.DateTime[] { new System.DateTime(2002, 9, 26, 0, 0, 0, 0) };
// Add dates to MonthlyBoldedDates array.
this.monthCalendar1.MonthlyBoldedDates =
new System.DateTime[] {new System.DateTime(2002, 1, 15, 0, 0, 0, 0),
new System.DateTime(2002, 1, 30, 0, 0, 0, 0)};
// Configure the calendar to display 3 rows by 4 columns of months.
this.monthCalendar1.CalendarDimensions = new System.Drawing.Size(4, 3);
// Set week to begin on Monday.
this.monthCalendar1.FirstDayOfWeek = System.Windows.Forms.Day.Monday;
// Set the maximum visible date on the calendar to 12/31/2010.
this.monthCalendar1.MaxDate = new System.DateTime(2010, 12, 31, 0, 0, 0, 0);
// Set the minimum visible date on calendar to 12/31/2010.
this.monthCalendar1.MinDate = new System.DateTime(1999, 1, 1, 0, 0, 0, 0);
// Only allow 21 days to be selected at the same time.
this.monthCalendar1.MaxSelectionCount = 21;
// Set the calendar to move one month at a time when navigating using the arrows.
this.monthCalendar1.ScrollChange = 1;
// Do not show the "Today" banner.
this.monthCalendar1.ShowToday = false;
// Do not circle today's date.
this.monthCalendar1.ShowTodayCircle = false;
// Show the week numbers to the left of each week.
this.monthCalendar1.ShowWeekNumbers = true;
this.monthCalendar1.DateSelected += new System.Windows.Forms.DateRangeEventHandler(this.monthCalendar1_DateSelected);
dataGridView1.Controls.Add(monthCalendar1);
}
private void monthCalendar1_DateSelected(object sender, System.Windows.Forms.DateRangeEventArgs e)
{
// Show the start and end dates in the text box.
dataGridView1[coloum, row].Value = e.Start.ToShortDateString();
(sender as MonthCalendar).Dispose();
}
}
En fait cela permet de faire apparaitre un MonthCalendar quand tu cliques sur une cellule de la colonne 3...
C'est peut-etre pas exactement ce que tu souhaite mais ca te donnera peut-etre des idées!!;)
@+