0
我想知道如果我可以更改gridview中代碼隱藏的Container.DataItem。我的意思是,如果我想根據條件將Dataitem從「SellingPaymentMethod」更改爲「DeliveryPaymentmethod」。更改GridView的代碼隱藏的容器DataItem
我使用相同的存儲過程獲取銷售和交付信息。因此,如果它是銷售應該是SellingPaymentmethod,否則它應該是DeliveryPaymentmethod。這是使用C#的ASP.Net。
<asp:TemplateField ItemStyle-Width="70" ItemStyle-HorizontalAlign="Center">
<ItemTemplate>
<asp:Label ID="lblSellingPaymentMethod" runat="server"
Text='<%#DataBinder.Eval(Container.DataItem,"SellingPaymentMethod") %>'>
</asp:Label>
</ItemTemplate>
</asp:TemplateField>
if(Condition1 = "Selling")
{
use sellingpaymentmethod container
}
else
{
use deliverypaymentmethod
}
編輯:
if (e.Row.RowType != DataControlRowType.DataRow)
{
return;
}
foreach (DataRow dtrCurrentRow in (((System.Data.DataView)grdDetail.DataSource)).Table.Rows)
{
//DataRow row = (DataRow)e.Row.DataItem;
Label lblPaymentMethod = e.Row.FindControl("lblPaymentMethod") as Label;
Label lblBalance = e.Row.FindControl("lblTotalSold") as Label;
Label lblBalanceCollected = e.Row.FindControl("lblTotalCollected") as Label;
if (lblTypeofDay.Text == "Selling")
{
lblPaymentMethod.Text = dtrCurrentRow["SellingPaymentMethod"].ToString();
}
else if (lblTypeofDay.Text == "Delivery")
{
lblPaymentMethod.Text = dtrCurrentRow["DeliveryPaymentmethod"].ToString();
}
}
這是我如何使用你的代碼。我不確定爲什麼所有行都有paymentmethod列中的最後一行值。
,我已經在btnSubmit_OnClick函數的數據綁定代碼
DataView myDataView = new DataView();
myDataView = dsnew.Tables[0].DefaultView;
grdDetail.DataSource = myDataView;
grdDetail.DataBind();
對於所有的行,PAYMENTMETHOD是表示作爲最後一個在表中。我的意思是這個值並不是堅持每一行,而是所有的行都有最後一行的值。爲什麼? – Ram
我不知道我明白你的意思......你的'GridView'中的每一行都綁定到'DataSet'的最後一行?這應該不會發生,'e.Row.DataItem'是'DataSet'中當前行的'DataRow'。請發佈您的代碼並解釋發生了什麼。 –