У меня есть проблема в Crystal Reports, это прослушивало меня в течение многих лет, и я задался вопросом, могло ли у кого-либо быть решение. У меня есть несколько полей (поля данных и формулы, числовые и строка) все выравнивание налево в режиме проектирования.
Когда я перемещаюсь в режим предварительного просмотра, числовые поля никогда не выстраиваются в линию с другими полями, и они немного располагаются с отступом, возможно, одним символом. Это выглядит очень грязным, когда Вы пытаетесь создать профессионально выглядящие отчеты.
Какие-либо идеи, как заставить их выравниваться правильно?
К сожалению, я мало знаком с настройкой StrucureMap через Xml. Позвольте мне показать, как это делается с помощью C #.
var container = new Container(config=>
{
config.For<ISysMsgRepository>().Use<SysMsgRepository>();
});
Похоже, вы используете стандартное соглашение об именовании для своих интерфейсов и классов (просто прикрепляя I к передней части имени класса). Если вы сделаете это для всех ваших типов вы можете просто настроить свой контейнер так:
var container = new Container(config=>
{
config.Scan(scan =>
{
scan.TheCallingAssembly();
scan.WithDefaultConventions();
});
});
Надеюсь, это поможет. Гораздо проще настроить контейнер с помощью кода, а не XML. Попробуйте. Ты станешь новообращенным.
-121--4859397-Я использую оба в зависимости от выполняемой задачи. Как указывалось ранее, _variant_t и _bstr_t являются более базовыми, в то время как классы ATL являются более высокоуровневыми (более приятным аналогом MFC). Мой совет - посмотреть немного на определения классов. Все они являются только помощниками для меньшего, лучше читаемого кода, но все еще содержат определенные подводные камни в отношении управления памятью и ссылками на объекты. Таким образом, вы должны знать немного об их внутренних устройств, и документация часто не очень ясно об этом.
-121--1675436-BTW, вы видите проблемы как в предварительном просмотре, так и в печати? Иногда печатный выход выглядит намного лучше предварительного просмотра - зависит от драйвера принтера.
Я думаю, что у меня есть лучшее и более простое решение ;). По стандарту Crystal Reports ставит пробел перед каждым числовым полем. Этот пробел является держателем отрицательного знака (-). Если вы уверены, что числовое значение всегда положительное, то вы можете сделать следующее:
Вуаля!