Я пытаюсь добавить представление сетки динамически (давайте назовем это gridview2) к существующему представлению сетки (давайте назовем это gridview1), добавленному через страницу .aspx.
То, что я пытаюсь сделать, это: в зависимости от содержимого строки (точнее, номера счета, отображаемого в ячейке-1 с индексированием на основе нуля), отображаемого в «gridview1», я фильтрую данные из списка и отображаю данные в "gridview2".
Я где-то совершаю ужасную ошибку, или мой подход должен быть в корне неверным.
Ниже приведен код для gridview1, добавленный на странице .aspx.
<asp:Content ID="BodyContent" runat="server" ContentPlaceHolderID="MainContent">
<asp:TextBox ID="TextBox1" runat="server"></asp:TextBox>
<asp:Button ID="Button1" runat="server" Text="Button" OnClick="ClickingBtn_Click" />
<asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="False"
DataSourceID="SqlDataSource1">
<Columns>
<asp:BoundField DataField="Date Of Transaction"
HeaderText="Date Of Transaction" SortExpression="Date Of Transaction" />
<asp:BoundField DataField="Invoice Number" HeaderText="Invoice Number"
SortExpression="Invoice Number" />
<asp:BoundField DataField="totalAmount" HeaderText="totalAmount"
ReadOnly="True" SortExpression="totalAmount" />
</Columns>
</asp:GridView>
<asp:SqlDataSource ID="SqlDataSource1" runat="server"
ConnectionString="<%$ ConnectionStrings:ComponentDBConnectionString %>"
SelectCommand="SelectUserPreviousHistory" SelectCommandType="StoredProcedure">
<SelectParameters>
<asp:Parameter DefaultValue="duran" Name="userName" Type="String" />
</SelectParameters>
</asp:SqlDataSource>
Это получение данных, как показано здесь: здесь
А потом я пытаюсь добавить другой вид сетки в зависимости от уникального номера счета, отображаемого в каждой строке, с помощью следующего кода:
foreach (GridViewRow gridviewrow in GridView1.Rows)
{
GridView gridView2 = new GridView();
gridView2.AutoGenerateColumns = true;
String x = gridviewrow.Cells[1].Text; //IT FETCHES THE INVOICE NUMBER FROM EACH ROW
softwareTitlesList = SoftwareListRetrieve(); //lIST OF ALL THE SOFTWARE TITLES ADDED TO LIST
ArrayList titles = new ArrayList();
foreach (SoftwareTitles softwareTitle in softwareTitlesList)
{
if (softwareTitle.InvoiceNumber.Contains(x))
titles.Add(softwareTitle.SoftwareTitle); //ADDING ONLY THOSE TITLES THAT MATCH THAT PARTICULAR INVOICE NUMBER
}
gridView2.DataSource = titles;
gridView2.DataBind();
}
Но, похоже, ничего не происходит. Что не так с этим?
Пожалуйста, помогите мне
Кстати, я использую asp.net/c# visualstudio 2010. И я не использую LINQ в моем проекте, а база данных - sql server 2005
Спасибо в ожидании