Я использую хранимую процедуру для загрузки данных в моем gridview. Основываясь на выборе пользователя, он/она должен иметь возможность просматривать данные в gridview в asp.net либо подробный объем продаж всех арендаторов в одном месте, либо общий общий объем продаж этого местоположения.C# - динамически загружать данные из хранимой процедуры в gridview
Это означало бы изменение столбца поля.
Для PER ПОДРОБНЫЙ:
tenantcode tenantname, местоположение, валовые продажи
Для TOTAL на место:
Места, Гросс продаж (с использованием группы пункта для достижения этого)
В хранимой процедуре, все работает отлично, конечно, но в asp.net, за подробный вариант работает, но когда я выбираю следующий вариант, который по всем продажам на место производит эту ошибку:
A field or property with the name 'tenantcode' was not found on the selected data source.
Markup:
<asp:GridView ID="grdMarketingReport1" runat="server" BackColor="White" BorderColor="#DEDFDE" BorderStyle="None" BorderWidth="1px" CellPadding="4" ForeColor="Black" GridLines="Vertical" Font-Size="Smaller" EmptyDataText="No Records Found" ShowHeaderWhenEmpty="True" Width="100%" AutoGenerateColumns="false">
<EmptyDataRowStyle BackColor="white" ForeColor="black" />
<EmptyDataTemplate>No Data Found.</EmptyDataTemplate>
<AlternatingRowStyle BackColor="White" />
<Columns>
<asp:BoundField HeaderText="RP Code" DataField="tenantcode" />
<asp:BoundField HeaderText="Retail Partner" DataField="name" />
<asp:BoundField HeaderText="Location" DataField="locationd" />
<asp:BoundField HeaderText="Gross Sales" DataField="gs" />
</Columns>
<FooterStyle BackColor="#CCCC99" />
<HeaderStyle BackColor="#6B696B" Font-Bold="True" ForeColor="White" Height="25px" />
<PagerStyle BackColor="#F7F7DE" ForeColor="Black" HorizontalAlign="Right" />
<RowStyle BackColor="#F7F7DE" />
<SelectedRowStyle BackColor="#CE5D5A" Font-Bold="True" ForeColor="White" />
<SortedAscendingCellStyle BackColor="#FBFBF2" />
<SortedAscendingHeaderStyle BackColor="#848384" />
<SortedDescendingCellStyle BackColor="#EAEAD3" />
<SortedDescendingHeaderStyle BackColor="#575357" />
</asp:GridView>
Я на самом деле думает о создании двух различных GridView, чтобы удовлетворить свои потребности, но это наименее вариант, если он не является единственным способом. МОЖЕТ БЫТЬ СДЕЛАТЬ В ОДНОМ ГРИДЖЕЛЕ ТОЛЬКО?
ХП (ЧАСТЬ АКТУАЛЬНОГО SP)
if (@RP = 'ALL' and @Location = 'ALL' and @Business = 'ALL')
begin
--step 1: get the sales per date
SELECT a.tenantcode , b.name , a.location , c.locationd , d.[desc] as 'Business' , a.date , a.gsc, b.sdate , b.cdate
into #Sample5
FROM DAILYMOD a INNER JOIN TENANT b on a.tenantcode = b.tenantcode
INNER JOIN LOCATION c on b.location = c.location
INNER JOIN BUSINESS d on b.business = d.code
WHERE ((a.date between @DateFrom1 and @DateTo1)
or (a.date between @DateFrom2 and @DateTo2)
or (a.date between @dateFromLY and @dateToLY))
ORDER BY a.location , a.tenantcode , a.date
--step 2: group the gsc per date ranges
select tenantcode , name, location, locationd, business , sdate, cdate,
SUM(case when date between @DateFrom1 and @DateTo1 then [gsc] else 0 end) 'date1',
SUM(case when date between @DateFrom2 and @DateTo2 then [gsc] else 0 end) 'date2',
SUM(case when date between @dateFromLY and @dateToLY then [gsc] else 0 end) 'dateLY'
from #Sample5
GROUP BY tenantcode , name, location, locationd , business, sdate, cdate
end
else
begin
--step 1: get the sales per date
SELECT a.tenantcode , b.name , a.location , c.locationd , d.[desc] as 'Business' , a.date , a.gsc, b.sdate , b.cdate
into #Sample7
FROM DAILYMOD a INNER JOIN TENANT b on a.tenantcode = b.tenantcode
INNER JOIN LOCATION c on b.location = c.location
INNER JOIN BUSINESS d on b.business = d.code
WHERE ((a.date between @DateFrom1 and @DateTo1 )
or (a.date between @DateFrom2 and @DateTo2)
or (a.date between @dateFromLY and @dateToLY))
ORDER BY a.location , a.tenantcode , a.date
--step 2: group the gsc per date ranges
select location, locationd,
SUM(case when date between @DateFrom1 and @DateTo1 then [gsc] else 0 end) 'date1',
SUM(case when date between @DateFrom2 and @DateTo2 then [gsc] else 0 end) 'date2',
SUM(case when date between @dateFromLY and @dateToLY then [gsc] else 0 end) 'dateLY'
from #Sample7
GROUP BY location, locationd
end
Привет! Неужели нужно кричать? А также включить всю разметку gridview, все ли здесь связано с вопросом? – abatishchev
Я так думаю, чтобы дать подробное объяснение этой проблеме. – rickyProgrammer
Вам не нужны стили на самом деле, просто столбцы. Я бы удалил все несвязанное, чтобы помочь читателю сосредоточиться на проблеме привязки. – abatishchev