0

私の .aspx ページには次のものがあります。

<asp:GridView ID="Table1" runat="server" AutoGenerateColumns="False"    BorderColor="Black" OnRowCreated="Table1_RowCreated" OnRowDataBound="Table1_RowDataBound" CellPadding="3" CellSpacing="0" DataSourceID="Table1DataSrc" DataKeyNames="Field1">
<Columns>
<asp:BoundField DataField="Field1" HeaderText="Field1" SortExpression="Field1">
     <ItemStyle HorizontalAlign="Left" Font-Size="8" Wrap="false" />
     <HeaderStyle CssClass="header" Font-Size="8" />
 </asp:BoundField>
 </Columns>
 </asp:GridView>

gridview には、いくつかのフィールドをロードする DataSource があります。私の C# コード ビハインドには、LINQ クエリを実行してストアド プロシージャを処理する次の関数があります (他のデータソースとは異なるサーバー上)。

    private void RenderTables()
    {
        SqlDataAdapter adapter = new SqlDataAdapter();
        DataTable dt = new DataTable();

        using (SqlConnection conn = new SqlConnection(ConfigurationManager.ConnectionStrings["MyConnectionString"].ConnectionString))
        {
            conn.Open();
            SqlCommand cmd = new SqlCommand("sp_special", conn);
            cmd.CommandType = System.Data.CommandType.StoredProcedure;
            cmd.Parameters.AddWithValue("@AmIY", "Y");
            adapter.SelectCommand = cmd;
            adapter.Fill(dt);
            adapter.Dispose();
            conn.Close();
        }
        var enumvar = dt.AsEnumerable();
        var query = from x in enumvar
                    orderby x.Field<string>(3)
                    select new 
                    { 
                        Field3 = x.Field<string>(3),
                        Field4 = x.Field<int>(4),
                    };
        //I do some data manipulation using LINQ, but omitted here
        //do something with query.....
    }

新しい列 Field3 と Field4 を Gridview に追加し、これらの新しいレコードをバインドするにはどうすればよいですか? どちらのサーバーの一時テーブルにも何も保存したくない

4

1 に答える 1

0

それはこのように動作します...

<asp:BoundField DataField="Field3" HeaderText="Field3" SortExpression="Field3"> 
<asp:BoundField DataField="Field4" HeaderText="Field4" SortExpression="Field4">
于 2012-11-07T07:50:54.063 に答える