nizam qbixx Ответов: 3

Sum label.текстовое значение в ретрансляторе ASP.NET с#


Хе.. у меня есть 1 проблема, связанная с ретранслятором в ASP.NET я использую ретранслятор, потому что хочу, чтобы мои данные отображались следующим образом:

Размер : S M L XL
Количество: 10 0 20 20

у меня нет проблем с таким просмотром.. моя проблема в том, что теперь я ставлю еще один столбец после размера/количества, которое является общим, которое выглядит следующим образом:

Размер : S M L XL | всего
Количество: 10 0 20 20 | ...

но тотал все равно не работает.. предположим, что конечный результат выглядит следующим образом:

Размер : S M L XL | всего
Количество: 10 0 20 20 | 50

Кто-нибудь может мне помочь??? вот мой код:

<table border="1">
        <tr>
        <td>Size</td>
    <asp:Repeater ID="Repeater1" runat="server" DataSourceID="SqlDataSource5">
        <ItemTemplate>
        <td><%# Eval("size_cd")%></td>       
        </ItemTemplate>
    </asp:Repeater>  
    <td>
    TOTAL
    </td>
    </tr>
    <tr> 
    <td>Allocated Quantity</td> 
    <asp:Repeater ID="Repeater2" runat="server" DataSourceID="SqlDataSource5" 

                    onitemcommand="Repeater2_ItemCommand1">
        <ItemTemplate>
        <td>
            <asp:Label ID="Label12" runat="server" Text='<%# Eval("allo_qty")%>'></asp:Label></td>       
        </ItemTemplate>
    </asp:Repeater>  
    <td>
        <asp:Label ID="LabelTotal" runat="server" Text=""></asp:Label>
    </td>
    </tr> 
    </table>

3 Ответов

Рейтинг:
16

nizam qbixx

private void GridView2_DataBound(object sender, System.EventArgs e)
{
	foreach (object gv_loopVariable in GridView2.Rows) {
		gv = gv_loopVariable;
		Label TotalLabel = (Label)gv.FindControl("LabelTotal");
		Repeater repeaterSizeNQuatity = (Repeater)gv.FindControl("Repeater2");
		double totalquantity = 0;
		int counter = 0;
		counter = repeaterSizeNQuatity.Items.Count;
		for (int i = 0; i <= counter - 1; i++) {
			double quantity = 0;
			quantity = ((Label)repeaterSizeNQuatity.Items(i).FindControl("Label12")).Text;
			totalquantity = totalquantity + quantity;
		}

		TotalLabel.Text = totalquantity;
	}
}


Рейтинг:
1

Nilesh Umaretiya

<td><span runat="server" id="lbBranchname" style="font-style:italic;"><%# Eval("branchname")%></span>
</td>

HtmlGenericControl lbBranchname = e.Item.FindControl("lbBranchname") as HtmlGenericControl;
BranchName = lbBranchname.InnerText;


Richard Deeming

Этот необъяснимый дамп кода не имеет ничего общего с (уже решенным) вопросом.

Рейтинг:
0

Christian Graus

Вы не написали код, чтобы показать общую сумму, так что же вы ожидали, что произойдет ? Вам нужно добавить Eval для текста и заставить его вызвать метод, который генерирует итог и возвращает его.


nizam qbixx

спасибо Кристиану Граусу за вашу помощь..
да, я знаю, я еще не добавляю никакого кода для вычисления. у меня есть идея, но я просто не знаю, как это сделать. вот почему мне действительно нужен простой код о том, как вычислить сумму из ретранслятора.

я думаю об идее использования java-скрипта, но не знаю, как ее реализовать..

Здесь я нашел ссылку, которая, возможно, поможет мне.. я стараюсь мало, но безуспешно, пока не знаю.. :
1 - http://aspdotnetcodebook.blogspot.com/2011/10/how-to-sum-value-of-gridview-column.html
2 - http://aashishdynamic.wordpress.com/2011/12/17/gridview-column-total-on-onblur-event-using-javascript/
3 - http://www.aspsnippets.com/Articles/Calculate-Row-Total-and-Grand-Total-in-ASPNet-GridView-using-jQuery.aspx
4 - http://forums.asp.net/p/1635489/4221497.aspx
5 - http://stackoverflow.com/questions/10120834/how-to-get-the-text-value-from-textbox-which-is-in-gridview-using-javascript

p/s: образец № 5 мне нравится больше всего, но все равно не удается это сделать..

кто-нибудь может мне помочь??

Christian Graus

Сдается мне, ты нашел кучу помощников. Итак, придерживайтесь одного примера, напишите некоторый код и попросите нас о конкретной помощи. OnItemCommand является частью решения, один из очевидных способов состоит в том, чтобы иметь событие для каждого добавленного элемента, которое суммирует значения, а затем код позади метода для возврата результата.