0

こんにちは、私のプログラムには for ループの変数があり、変数の値は for ループで動的に取得されます。これらの値をグリッド ビューにバインドしたいと考えています。SQL サーバーのデータをグリッドにバインドする方法を知っています。しかし、ここでどう対処するか。列の値を配置する方法。誰でも私を助けてください。

私はこれらの変数を持っています

string changedFile  
int parentIssue 
List<String> Authors

これらの 3 つのフィールドを for ループのグリッド ビューに追加したいと考えています。for ループの外側を書き出す方法はありますか?

4

3 に答える 3

1

このようなものを試すことができます

public class BindingObject
{
    public int intMember;
    public string stringMember;
    public string nullMember;
    public BindingObject(int i, string str1, string str2)
    {
        intMember = i;
        stringMember = str1;
        nullMember = str2;
    }
} 

////Somewhere
ArrayList list = new ArrayList();
list.Add(new BindingObject(1, "One", null));
list.Add(new BindingObject(2, "Two", null));
list.Add(new BindingObject(3, "Three", null));
dataGrid1.DataSource = list;
于 2012-05-25T07:19:22.527 に答える
1

リストをデータソースとして割り当てるだけです。

dataGridView1.DataSource = Rows;

select ステートメントで列を並べ替えることができます。

private System.Windows.Forms.DataGridViewComboBoxColumn Authors;
this.Authors.HeaderText = "Authors";
this.Authors.Name = "Authors";
this.dataGridView1.Columns.Add(this.Authors);
this.Authors.Items.AddRange(new object[] {
            "Ayn Rand",
            "Tagore"});
于 2012-05-25T07:15:02.163 に答える
0

ループ自体に設定する必要がある場合は、aspx でグリッドビューのテンプレートを定義する必要があります

<asp:GridView ID="gridViewField" ClientIDMode="Static"   runat="Server" AutoGenerateColumns="false"
               onrowdatabound="gridViewField_RowDataBound"  HorizontalAlign="Center"  AlternatingRowStyle-BackColor="#ddecfe" >
               <Columns>                   
                   <asp:TemplateField HeaderText="Field Name">
                       <ItemTemplate>
                           <asp:Label runat="server" ID="lblFieldName"></asp:Label>
                       </ItemTemplate>
                   </asp:TemplateField>
</columns>
</asp:GridView>

for ループでは、次のように分離コード cs ファイルの各行を取得できます。

var lblFieldName= gridViewField.Rows[i].FindControl("lblFieldName") as Label
lblFieldName.Text=your loop data

i はループ変数です

于 2012-05-25T07:04:49.690 に答える