Установка значения по умолчанию Свойства DateTime к DateTime. Теперь в Системе. Значение по умолчанию ComponentModel Attrbute

Вы можете сделать это с небольшим количеством js и css. Я бы лично избегал причин появления элементов прогресса, связанных с кросс-браузерным стилем.

Сторонние библиотеки хороши, но они идут со значительной стоимостью. Раздутые CSS и JS иногда не стоят этого.

Надеюсь, это поможет.

<style>
.progress {
  width: 100%;
  position: relative;
  background-color: orange;
}

.bar {
  width: 0%;
  height: 30px;
  background-color: green;
  text-align: center;
  line-height: 30px;
  color: black;
}

.bar-text {
  position: absolute;
  top: 0;
  width: 100%;
  height: 30px;
  text-align: center;
  line-height: 30px;
  color: black;
}

</style>

<script>
function init() {
  var bar = document.getElementById("bar");   
  var width = 0;
  var id = setInterval(frame, 10);
  function frame() {
    if (width >= 100) {
      clearInterval(id);
    } else {
      width++; 
      bar.style.width = width + '%'; 
      document.querySelector('.bar-text').innerHTML = width * 1  + '%';
    }
  }
}
</script>

<div class="progress" id="progress">
  <div class="bar" id="bar"></div>
  <div class="bar-text">10%</div>
</div>
<br>
<button onclick="init()">Click Me</button>

87
задан Sampath 22 September 2018 в 09:55
поделиться

4 ответа

Вы не можете сделать этого с атрибутом, потому что они - просто метаинформация, сгенерированная во время компиляции. Просто добавьте код к конструктору, чтобы инициализировать дату при необходимости, создать триггер и обработать отсутствующие значения в базе данных или реализовать метод считывания способом, что это возвращает DateTime. Теперь, если отступающее поле не инициализируется.

public DateTime DateCreated
{
   get
   {
      return this.dateCreated.HasValue
         ? this.dateCreated.Value
         : DateTime.Now;
   }

   set { this.dateCreated = value; }
}

private DateTime? dateCreated = null;
89
ответ дан Daniel Brückner 24 November 2019 в 07:46
поделиться

Как Вы имеете дело с этим, в данный момент зависит, на какой модели Вы используете Linq для SQL или EntityFramework?

В L2S можно добавить

public partial class NWDataContext
{
    partial void InsertCategory(Category instance)
    {
        if(Instance.Date == null)
            Instance.Data = DateTime.Now;

        ExecuteDynamicInsert(instance);
    }
}

EF немного более сложен, см. http://msdn.microsoft.com/en-us/library/cc716714.aspx для большего количества информации о EF buisiness логика.

0
ответ дан Chuck Norris 24 November 2019 в 07:46
поделиться
public DateTime DateCreated
{
   get
   {
      return (this.dateCreated == default(DateTime))
         ? this.dateCreated = DateTime.Now
         : this.dateCreated;
   }

   set { this.dateCreated = value; }
}
private DateTime dateCreated = default(DateTime);
0
ответ дан 24 November 2019 в 07:46
поделиться

Я также хотел этого и придумал это решение (я использую только часть даты - время по умолчанию не имеет смысла по умолчанию в PropertyGrid):

public class DefaultDateAttribute : DefaultValueAttribute {
  public DefaultDateAttribute(short yearoffset)
    : base(DateTime.Now.AddYears(yearoffset).Date) {
  }
}

Это просто создает новый атрибут, который вы можете добавить в свой Свойство DateTime. Например. если по умолчанию используется DateTime.Now.Date:

[DefaultDate(0)]
-4
ответ дан 24 November 2019 в 07:46
поделиться
Другие вопросы по тегам:

Похожие вопросы: