0

グリッドビュー(私は初めてです)を読み込もうとしていますが、少し迷っています。私がやりたいのは、手動で「Description」と呼ばれる列ヘッダーを作成し、テーブルDocumentTypes(dataset1)のSQLデータセットから他のすべての列ヘッダーを取得することです。

列「説明」は、テーブル「文学」(データセット2)からすべてのコンテンツを取得する必要があります。他のすべての列は、テーブル「ドキュメント」(dataset3)からすべてのコンテンツ(ある場合)を取得する必要があります

これが私が立ち往生しているところです。これは、最初の列ヘッダーを手動で作成するために行うことです。この列にdataset2のすべての情報を含める必要があります。

BoundField m_bfBoundField = new BoundField();
m_bfBoundField.HeaderText = "Description";
m_bfBoundField.DataField = "Name";
gridView.Columns.Add(m_bfBoundField);

それから私はします

gridView.DataSource = dataset2;
gridView.DataBind();

datasource1からヘッダーを取得するために同じことを試しましたが、今のところ.DataFieldを配置していません(リレーションに1つ必要ですか?)

実際、これはdatasource2からすべての「Name」列を取得して「Description」列にロードしますが、同じ情報でグリッドに「Name」列も表示します:(。

何が問題で、どうすればそれができますか?それは明らかですか?

をお願いします。

-------------------------------------------------------------------------------------------------------
| Description (can be called as I want) | Manuals (data from dataset1) | Catalog (data from dataset1) |
-------------------------------------------------------------------------------------------------------
| DescripionA (data from dataset2)      | Yes (data from dataset3)     | No (data from dataset3)      |
| DescripionB (data from dataset2)      | No (data from dataset3)      | Yes(data from dataset3)      |
-------------------------------------------------------------------------------------------------------

ありがとう !

4

2 に答える 2

0

データ ソースに新しい列を追加してみてください。
または、データソースを新しいデータテーブルにコピーし、新しいデータテーブルに新しい列を追加できますか? その後、そのデータテーブルをデータソースとしてグリッドにバインドします。
データソースを編集する良い方法は、グリッドの説明でデータを並べ替えると、データソースに積み重ねられていないと、好きなようにならない可能性があるためです.

于 2012-06-20T14:47:55.053 に答える
0

これはお尻の痛みかもしれませんが、これを行う方法を知っている唯一の方法は、これをグリッドビューに設定することです

AutoGenerateColumns="False"

次に、すべての列に対してデータバインドされたアイテムを作成します。列ヘッダーをデータセットの列名と同じにしたい場合は、新しい boundField() に HeaderText を設定しないでください。

次のように.aspxページで直接これを行うことができます

<asp:GridView ID="Gridview1" runat="server" CellPadding="4" 
    ForeColor="#333333" GridLines="None" AutoGenerateColumns="False">
    <AlternatingRowStyle BackColor="White" ForeColor="#284775" />
    <Columns>
        <asp:TemplateField ShowHeader="False">
            <ItemTemplate>
                <asp:LinkButton ID="NONOPSgridviewDelete" runat="server" CausesValidation="false" 
                    CommandName="Delete" Text="Delete"></asp:LinkButton>
            </ItemTemplate>
        </asp:TemplateField>
         <!-- These are the boundedfields of the rest of your dataset -->
         <asp:BoundField DataField="Firstname"/>
        <asp:BoundField DataField="Lastname" />
    </Columns>
</asp:GridView>

お役に立てれば、

于 2012-06-20T14:40:42.743 に答える