сделайте копию этого листа: https://docs.google.com/spreadsheets/d/
то, что вы просите, выполнено скрипт, который запускается всякий раз, когда вы вводите что-либо в столбец B
function onEdit(event) {
var sheet = event.source.getActiveSheet();
// note: actRng = the cell being updated
var actRng = event.source.getActiveRange();
var index = actRng.getRowIndex();
var cindex = actRng.getColumnIndex();
if (cindex == 2) { // 1 == Column A, 2 == Column B, 3 == Column C, etc.
var dateCol = sheet.getLastColumn();
var lastCell = sheet.getRange(index,dateCol);
var date = Utilities.formatDate(new Date(), "EST", "MMM-dd-yyyy");
lastCell.setValue("'" + date);
}
}
Наличием логики в течение в общей сложности времени и в C# и в JavaScript не является DRY в самом строгом смысле, который верен. Можно было бы крохоборствовать по тому, что они - два различных языка, работающие в двух отдельных средах, но в конце дня при изменении того, необходимо изменить обоих.
Я думаю, что это - компромисс между формой и функцией. Как важный это должно иметь JavaScript? Если вызов Ajax является просто слишком медленным (реальная возможность) затем, это может быть временем, чтобы понять, что принцип DRY является руководящим принципом, не законом.
Вы могли попробовать проект Nikhil Kothari Script#. Это - кросс-компилятор, который компилирует и переводит от C# до браузера независимый JavaScript, который позволяет Вам совместно использовать логику. Ее используемый многими группами в Microsoft для точно той цели.
Больше, с веб-сайта:
Script# приносит производительность к разработке JavaScript и Ajax. Script# является бесплатным инструментом, который включает разработчиков автору исходный код C#, и впоследствии скомпилируйте его в обычный сценарий, который работает через все современные браузеры, и при этом, усильте производительность и питание существующих инструментов.NET, а также Visual Studio IDE. Script# уполномочивает Вас методологией разработки, и приблизьтесь, который приносит разработку программного обеспечения, долгосрочную пригодность для обслуживания и масштабируемые подходы к разработке для Ваших приложений Ajax, компонентов и платформ.
Script# используется экстенсивно разработчиками в Microsoft, создающей события Ajax в Windows Live, Office для именования просто пары, а также внешние разработчики и компании включая Facebook. Если Вы создаете основанные на Ajax приложения RIA, Вы должны его себе, чтобы попробовать Script# сегодня и видеть, может ли это помочь улучшить Вашу собственную разработку Ajax!
Если Вы хотите, чтобы код выполнился на обоих, Вашем сервере и клиенте, Вы могли использовать/писать дерево выражений для компилятора JavaScript.
На серверной стороне Вы оцениваете выражение и отправляете то же выражение, переведенное в JavaScript клиенту.