А можно сделать чтоб столбец Событие расширялся по вертикали если вводишь больше данных чем предусмотрено границами
Что касается расширения ячейки, помню сам сталкивался с такой проблемой. Так и не получилось реализовать должным образом. В delphiworld есть статья Мультистроковый DBGrid, но я думаю ее Вы видели. Проверить нет возможности.
Если необходимо, проще добавить новую форму для Добавления\Редактирования записи, куда разместить к примеру тот же компонент TMemo, для ввода/вывода текста. Данные с формы можно вставлять\обновлять в таблице с помощью запроса, либо использовать DB компоненты.
Я бы посоветовал выбор пользователя при входе сделать через выпадающий список, останется ввести только пароль - иначе надоест каждый раз вводить.
Можно регистрировать пользователя с пустым логином, более того, можно создавать пользователей с таким же логином. (При входе ввести не существующего пользователя, далее в окне регистрации вводи все что хочешь, хоть второго admin'а).
Здесь бы я по рекомендовал пользователей идентифицировать в таблице не по логину (строка), а по ID (самое простое - счетчик) и связать таблицу "Журнал" с таблицей "Пользователи" по ID пользователя. А не просто подставлять логин пользователя в таблицу "Журнал".
вероятнее всего автору не понравилась не сам компонент, а как он был использован..
что понятно - это зависит от дизайна.. в твоей программе DBMemo на самом деле некуда воткнуть smile
...
type
TDBGr = class(TDBGrid);
...
procedure TForm1.DBGrid1CellClick(Column: TColumn);
const LengthHintString = 10;
var
ColNo, RowNo: integer;
function FormatString(st: string):string;
var i: byte;
begin
result:='';
if Length(st)<LengthHintString then
begin
result:=st;
exit;
end;
i:=0;
while i<Length(st) do
begin
result:=result+Copy(st,i,LengthHintString);
i:=i+LengthHintString+1;
if i<Length(st) then result:=result+#10#13;
end;
end;
begin
ColNo:= TDBGr(DBGrid1).Col;
RowNo:= TDBGr(DBGrid1).Row;
if ColNo=3 then
begin
with DataSource1.DataSet do
DBGrid1.Hint:=FormatString(FieldByName(DBGrid1.Columns[ColNo-1].FieldName).AsString);
DBGrid1.ShowHint:=true;
end
else DBGrid1.ShowHint:=false;
end;
Если Вы уже зарегистрированы на Портале - войдите в систему, если Вы еще не регистрировались - пройдите простую процедуру регистрации.