<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
	<channel>
		<title><![CDATA[My Visual Database — TTableGrid - отображение данных и типы полей]]></title>
		<link>https://myvisualdatabase.com/forum/viewtopic.php?id=3823</link>
		<atom:link href="https://myvisualdatabase.com/forum/extern.php?action=feed&amp;tid=3823&amp;type=rss" rel="self" type="application/rss+xml" />
		<description><![CDATA[The most recent posts in TTableGrid - отображение данных и типы полей.]]></description>
		<lastBuildDate>Wed, 01 Nov 2017 06:35:21 +0000</lastBuildDate>
		<generator>PunBB</generator>
		<item>
			<title><![CDATA[Re: TTableGrid - отображение данных и типы полей]]></title>
			<link>https://myvisualdatabase.com/forum/viewtopic.php?pid=22731#p22731</link>
			<description><![CDATA[<p>Спасибо, Дмитрий!&nbsp; Подправил форматирование, </p><div class="codebox"><pre><code>TNxNumberColumn(frmMain.tgrDetail.Columns[3]).FormatMask := &#039;#,##0.00; ; &#039;;</code></pre></div><p>и теперь всё выглядит великолепно, как я и хотел: ненулевые значения выводятся в денежном формате, а вместо нулевых - пустышки <img src="https://myvisualdatabase.com/forum/img/smilies/smile.png" width="15" height="15" alt="smile" /><br /><span class="postimg"><img src="http://f3.s.qip.ru/SwgAVRAn.png" alt="http://f3.s.qip.ru/SwgAVRAn.png" /></span></p>]]></description>
			<author><![CDATA[null@example.com (k245)]]></author>
			<pubDate>Wed, 01 Nov 2017 06:35:21 +0000</pubDate>
			<guid>https://myvisualdatabase.com/forum/viewtopic.php?pid=22731#p22731</guid>
		</item>
		<item>
			<title><![CDATA[Re: TTableGrid - отображение данных и типы полей]]></title>
			<link>https://myvisualdatabase.com/forum/viewtopic.php?pid=22719#p22719</link>
			<description><![CDATA[<p>Применить необходимое форматирование для колонки можно так</p><div class="codebox"><pre><code>procedure Form1_TableGrid1_OnChange (Sender: string);
begin
   if Form1.TableGrid1.Columns[3] is TNxNumberColumn then
    begin
        TNxNumberColumn(Form1.TableGrid1.Columns[3]).FormatMask := &#039;#,##0.00&#039;;
        TNxNumberColumn(Form1.TableGrid1.Columns[3]).Footer.FormatMask := &#039;#,##0.00&#039;;
    end;
end;</code></pre></div>]]></description>
			<author><![CDATA[null@example.com (DriveSoft)]]></author>
			<pubDate>Tue, 31 Oct 2017 19:04:29 +0000</pubDate>
			<guid>https://myvisualdatabase.com/forum/viewtopic.php?pid=22719#p22719</guid>
		</item>
		<item>
			<title><![CDATA[Re: TTableGrid - отображение данных и типы полей]]></title>
			<link>https://myvisualdatabase.com/forum/viewtopic.php?pid=22713#p22713</link>
			<description><![CDATA[<p>А вообще - печалька:&nbsp; не получается нормально отобразить бухгалтерскую информацию. Для вычисляемых полей (выделены красным), даже если их кастовать в REAL, </p><div class="codebox"><pre><code>( 
cast(
 (select sum(summ) from docDetail
  where docDetail.id_doc = doc.id) AS REAL)
)</code></pre></div><p>&nbsp; &nbsp;</p><p>не получается отобразить денежный формат:</p><p><span class="postimg"><img src="http://f1.s.qip.ru/SwgAVRAe.png" alt="http://f1.s.qip.ru/SwgAVRAe.png" /></span></p><p>внизу обычные поля с типом &quot;ДЕНЬГИ&quot;</p>]]></description>
			<author><![CDATA[null@example.com (k245)]]></author>
			<pubDate>Tue, 31 Oct 2017 13:12:57 +0000</pubDate>
			<guid>https://myvisualdatabase.com/forum/viewtopic.php?pid=22713#p22713</guid>
		</item>
		<item>
			<title><![CDATA[Re: TTableGrid - отображение данных и типы полей]]></title>
			<link>https://myvisualdatabase.com/forum/viewtopic.php?pid=22705#p22705</link>
			<description><![CDATA[<p>Видимо, это из разряда &quot;хотелок&quot; : &quot;Отображать нулевые значения как пустую строку&quot;. Именно отображать, потому что, если &quot;пустышки&quot; будут в наборе данных, то не будет работать функция SUM(). </p><br /><p>У стандартного компонента TDBGrid&nbsp; есть два замечательных события, </p><div class="codebox"><pre><code>procedure TForm1.DBGrid1DrawColumnCell(Sender: TObject; const Rect: TRect;
  DataCol: Integer; Column: TColumn; State: TGridDrawState);

procedure TForm1.DBGrid1DrawDataCell(Sender: TObject; const Rect: TRect;
  Field: TField; State: TGridDrawState);</code></pre></div><br /><p>обработчики на которые легко справляются с подобными задачами по изменению способа отображения ячеек таблицы. Планируется ли что-либо подобное для TTableGrid ?</p><br /><p><em>P.S. Почитал про типы данных SQLite <a href="http://xbb.uz/db/Tipy-dannyh-v-SQLite-versii-3">http://xbb.uz/db/Tipy-dannyh-v-SQLite-versii-3</a> , теперь многое становится понятным в поведении визуальных компонентов, в частности&nbsp; - возможность в одной колонке отображать данные различных типов.</em></p>]]></description>
			<author><![CDATA[null@example.com (k245)]]></author>
			<pubDate>Tue, 31 Oct 2017 06:21:16 +0000</pubDate>
			<guid>https://myvisualdatabase.com/forum/viewtopic.php?pid=22705#p22705</guid>
		</item>
		<item>
			<title><![CDATA[Re: TTableGrid - отображение данных и типы полей]]></title>
			<link>https://myvisualdatabase.com/forum/viewtopic.php?pid=22701#p22701</link>
			<description><![CDATA[<p>Нужны вместо нулей пустышки? Или пустышки вместо нулей? )</p>]]></description>
			<author><![CDATA[null@example.com (DriveSoft)]]></author>
			<pubDate>Mon, 30 Oct 2017 21:04:48 +0000</pubDate>
			<guid>https://myvisualdatabase.com/forum/viewtopic.php?pid=22701#p22701</guid>
		</item>
		<item>
			<title><![CDATA[Re: TTableGrid - отображение данных и типы полей]]></title>
			<link>https://myvisualdatabase.com/forum/viewtopic.php?pid=22698#p22698</link>
			<description><![CDATA[<p>Вместо нулей - пустышки:<br /><span class="postimg"><img src="http://f4.s.qip.ru/SwgAVRzM.png" alt="http://f4.s.qip.ru/SwgAVRzM.png" /></span></p>]]></description>
			<author><![CDATA[null@example.com (k245)]]></author>
			<pubDate>Mon, 30 Oct 2017 20:22:51 +0000</pubDate>
			<guid>https://myvisualdatabase.com/forum/viewtopic.php?pid=22698#p22698</guid>
		</item>
		<item>
			<title><![CDATA[Re: TTableGrid - отображение данных и типы полей]]></title>
			<link>https://myvisualdatabase.com/forum/viewtopic.php?pid=22693#p22693</link>
			<description><![CDATA[<div class="quotebox"><blockquote><p>Однако, хотелось бы иметь такой результат:</p></blockquote></div><p>что конкретно?</p>]]></description>
			<author><![CDATA[null@example.com (DriveSoft)]]></author>
			<pubDate>Mon, 30 Oct 2017 18:05:13 +0000</pubDate>
			<guid>https://myvisualdatabase.com/forum/viewtopic.php?pid=22693#p22693</guid>
		</item>
		<item>
			<title><![CDATA[Re: TTableGrid - отображение данных и типы полей]]></title>
			<link>https://myvisualdatabase.com/forum/viewtopic.php?pid=22690#p22690</link>
			<description><![CDATA[<p>Дмитрий, спасибо за вариант с CAST, сумма отображается верно!</p><p>Однако, хотелось бы иметь такой результат:</p><p><span class="postimg"><img src="http://f3.s.qip.ru/SwgAVRzL.png" alt="http://f3.s.qip.ru/SwgAVRzL.png" /></span></p>]]></description>
			<author><![CDATA[null@example.com (k245)]]></author>
			<pubDate>Mon, 30 Oct 2017 17:46:02 +0000</pubDate>
			<guid>https://myvisualdatabase.com/forum/viewtopic.php?pid=22690#p22690</guid>
		</item>
		<item>
			<title><![CDATA[Re: TTableGrid - отображение данных и типы полей]]></title>
			<link>https://myvisualdatabase.com/forum/viewtopic.php?pid=22686#p22686</link>
			<description><![CDATA[<p>Про нулевые значения:&nbsp; первоначальные настройки вычисляемых полей были такими:</p><div class="codebox"><pre><code>(
select cast( amount as REAL) from docDetail as dd
left join doc on doc.id = docDetail.id_doc
left join docType on docType.id = doc.id_docType
where docType.isIncrement and (dd.id = docDetail.id)
)  </code></pre></div><p>а результат очень странный:</p><p><span class="postimg"><img src="http://f5.s.qip.ru/SwgAVRzJ.png" alt="http://f5.s.qip.ru/SwgAVRzJ.png" /></span></p><p>Если первая запись содержала null, то данные начинали отображаться, как текст ( 100.45 ), а сумма не считалась.</p><p>Хотя так правильней, пришлось заменять пустые строки нулями, хотя это&nbsp; перегружает экран.&nbsp; Вопрос был в том, можно ли как-нибудь избавиться от нулей, но чтобы отображение и суммирование работало корректно?</p>]]></description>
			<author><![CDATA[null@example.com (k245)]]></author>
			<pubDate>Mon, 30 Oct 2017 17:32:50 +0000</pubDate>
			<guid>https://myvisualdatabase.com/forum/viewtopic.php?pid=22686#p22686</guid>
		</item>
		<item>
			<title><![CDATA[Re: TTableGrid - отображение данных и типы полей]]></title>
			<link>https://myvisualdatabase.com/forum/viewtopic.php?pid=22669#p22669</link>
			<description><![CDATA[<p>попробуйте так</p><p>1.</p><div class="codebox"><pre><code>(
CAST(
    ifnull((            
        select amount from docDetail as dd
        left join doc on doc.id = docDetail.id_doc
        left join docType on docType.id = doc.id_docType
        where docType.isIncrement and (dd.id = docDetail.id)
        ),0) AS REAL
    )
)  </code></pre></div><br /><p>2. Про нулевые значения не понял</p>]]></description>
			<author><![CDATA[null@example.com (DriveSoft)]]></author>
			<pubDate>Mon, 30 Oct 2017 16:30:37 +0000</pubDate>
			<guid>https://myvisualdatabase.com/forum/viewtopic.php?pid=22669#p22669</guid>
		</item>
		<item>
			<title><![CDATA[Re: TTableGrid - отображение данных и типы полей]]></title>
			<link>https://myvisualdatabase.com/forum/viewtopic.php?pid=22663#p22663</link>
			<description><![CDATA[<p>Изначально я хотел использовать вычисляемые поля без отображения нулей</p><div class="codebox"><pre><code>(            
select amount from docDetail as dd
left join doc on doc.id = docDetail.id_doc
left join docType on docType.id = doc.id_docType
where docType.isIncrement and (dd.id = docDetail.id)
)</code></pre></div><p>но тогда не работает автоматическое вычисление итогов:<br /><span class="postimg"><img src="http://f1.s.qip.ru/SwgAVRzC.png" alt="http://f1.s.qip.ru/SwgAVRzC.png" /></span></p><p>а числа с плавающей запятой отображаются, как строки, если первая ячейка в колонке пустая.</p><p>Вопросы:<br />1. Можно ли как-то явно определить желаемый формат отображения данных в колонке?<br />2. Можно ли подавить отображение нулевых значений в выбранной колонке?</p>]]></description>
			<author><![CDATA[null@example.com (k245)]]></author>
			<pubDate>Mon, 30 Oct 2017 08:50:18 +0000</pubDate>
			<guid>https://myvisualdatabase.com/forum/viewtopic.php?pid=22663#p22663</guid>
		</item>
		<item>
			<title><![CDATA[Re: TTableGrid - отображение данных и типы полей]]></title>
			<link>https://myvisualdatabase.com/forum/viewtopic.php?pid=22662#p22662</link>
			<description><![CDATA[<p>Меняем сортировку в детальной части и меняется формат отображения:<br /><span class="postimg"><img src="http://f4.s.qip.ru/SwgAVRzB.png" alt="http://f4.s.qip.ru/SwgAVRzB.png" /></span></p>]]></description>
			<author><![CDATA[null@example.com (k245)]]></author>
			<pubDate>Mon, 30 Oct 2017 08:41:51 +0000</pubDate>
			<guid>https://myvisualdatabase.com/forum/viewtopic.php?pid=22662#p22662</guid>
		</item>
		<item>
			<title><![CDATA[TTableGrid - отображение данных и типы полей]]></title>
			<link>https://myvisualdatabase.com/forum/viewtopic.php?pid=22661#p22661</link>
			<description><![CDATA[<p>Обратил внимание, что формат отображения данных в таблице зависит от того, какую информацию содержит 1-я строка выборки. Пример с отображением количества</p><p>Тип данных - вещественное число<br />Вычисляемое поле Приход:</p><div class="codebox"><pre><code>(ifnull((            
select amount from docDetail as dd
left join doc on doc.id = docDetail.id_doc
left join docType on docType.id = doc.id_docType
where docType.isIncrement and (dd.id = docDetail.id)
),0 ))  </code></pre></div><p>Вычисляемое поле Расход:</p><div class="codebox"><pre><code>(ifnull((      
select amount from docDetail as dd
left join doc on doc.id = docDetail.id_doc
left join docType on docType.id = doc.id_docType
where not docType.isIncrement and (dd.id = docDetail.id)
),0))     </code></pre></div><p>Если первое число ноль, то вся колонка отображается, как целые числа<br /><span class="postimg"><img src="http://f6.s.qip.ru/SwgAVRzA.png" alt="http://f6.s.qip.ru/SwgAVRzA.png" /></span></p>]]></description>
			<author><![CDATA[null@example.com (k245)]]></author>
			<pubDate>Mon, 30 Oct 2017 08:40:30 +0000</pubDate>
			<guid>https://myvisualdatabase.com/forum/viewtopic.php?pid=22661#p22661</guid>
		</item>
	</channel>
</rss>
