zollen777 | Salut a tous,
J'ai un Datagridview qui reçoit des données externe et j'ai rajouté 3 colonnes independantes des données externes
Ma datagridview se rafraichit toutes les 3 secondes et lors du rafraissichement le tableau scintille (c'est a dire que les cellules rétrécissent et reprennent leur tailles d'origine) et aussi le contenu des 3 colonnes independantes (celles ajoutées) disparait et reapparait.
J'ai ce probleme avec cet ajout de code (voir ci-dessous qui correpond a une colone ajouté), si je supprime ce bout de code le probleme disparait :
Code :
- var id = row.Cells[0].Value.ToString();
- var nickNameTask = Task.Run<string>(async() => await this.GetTraderName(id));
- nickNameTask.Wait();
- string nickName = nickNameTask.Result;
- row.Cells[1].Value =nickName;
|
Savez vous d'ou peut venir le probleme et comment le corrigé?
Voici le code :
Code :
- private void dtgvPositions_DataBindingComplete(
- object sender,
- DataGridViewBindingCompleteEventArgs e)
- {
- List<string> lstUID = this.ReplaceDownTheLine(this.txtUIDs.Text.Trim());
- Dictionary<string, bool> lstUIDColor = new Dictionary<string, bool>();
- for (int index = 0; index < lstUID.Count; ++index)
- lstUIDColor.Add(lstUID[index], index % 2 == 0);
- this.dtgvPositions.Invoke((Action)(() =>
- {
- foreach (string str in lstUID)
- {
- foreach (DataGridViewRow row in (IEnumerable)this.dtgvPositions.Rows)
- {
- string key = row.Cells[0].Value.ToString();
- Decimal num = 0M;
- Decimal num1 = 0M;
- Decimal num2 = 0M;
- Decimal num3 = 0M;
- try
- {
- num = Decimal.Parse(row.Cells[9].Value.ToString());
- num1 = Decimal.Parse(row.Cells[5].Value.ToString());
- num2 = Decimal.Parse(row.Cells[7].Value.ToString());
- num3 = Decimal.Parse(row.Cells[3].Value.ToString());
- var id = row.Cells[0].Value.ToString();
- var nickNameTask = Task.Run<string>(async() => await this.GetTraderName(id));
- nickNameTask.Wait();
- string nickName = nickNameTask.Result;
- row.Cells[1].Value =nickName;
- bool flag;
- lstUIDColor.TryGetValue(key, out flag);
- row.DefaultCellStyle.BackColor = Color.FromArgb(24, 26, 32);
- row.Cells[1].Selected = false;
- row.Cells[1].Style.ForeColor = flag ? Color.LightSkyBlue : Color.LightPink;
- row.Cells[2].Value = num1 >= 0M ? "Long" : "Short";
- row.Cells[2].Style.ForeColor = num1 >= 0M ? Color.FromArgb(22, 181, 93) : Color.FromArgb(194, 52, 54);
- row.Cells[6].Value = (num1 * num2) / num3;
- row.Cells[9].Style.ForeColor = num >= 0M ? Color.FromArgb(22, 181, 93) : Color.FromArgb(194, 52, 54);
- row.Cells[10].Style.ForeColor = num >= 0M ? Color.FromArgb(22, 181, 93) : Color.FromArgb(194, 52, 54);
- }
- catch
- {
- }
- }
- }
- }));
- }
|
Merci |