1

以前のスレッドのフォローアップとして、このスレッドを作成しています

データベースからいくつかのデータで満たされたグリッドビューを作成しようとしています。ただし、下の 3 つのboundfield からわかるように、webapp に表示されないようにしました。

 <Columns>
    <asp:BoundField DataField="memberreportid" HeaderText="property" SortExpression="false"/>
    <asp:BoundField DataField="typeofcrime" HeaderText="property" SortExpression="false" />
    <asp:BoundField DataField="crdatetime" HeaderText="property" SortExpression="false" />
    <asp:BoundField DataField="address" HeaderText="property" SortExpression="false" />
    <asp:BoundField DataField="detail" HeaderText="property" SortExpression="false"/>
    <asp:BoundField DataField="incidentdate" HeaderText="property" SortExpression="false" />
    <asp:BoundField DataField="incidenttime" HeaderText="victim" SortExpression="false"/>
    <asp:BoundField DataField="property" HeaderText="suspect" SortExpression="false" Visible="false" />
    <asp:BoundField DataField="victim" HeaderText="suspect" SortExpression="false" Visible="false" />
    <asp:BoundField DataField="suspect" HeaderText="suspect" SortExpression="false" Visible="false" />
  </Columns>

Webページから物理的に見ることができないにもかかわらず、ラベルに表示しようとしています。このメソッドを使用して、選択ボタンがクリックされたときにそれらを表示しました(「AutoGenerateSelectColumn」をtrueに設定しました)

protected void GWCase_SelectedIndexChanged(object sender, EventArgs e)
    {
        lbmemberreportid.Text = GWCase.SelectedRow.Cells[1].Text;
        lblproperty.Text = GWCase.SelectedRow.Cells[8].Text; 
        lblvictim.Text = GWCase.SelectedRow.Cells[9].Text;
        lblsuspect.Text = GWCase.SelectedRow.Cells[10].Text;
    }

残念ながら、memberreportID をラベルに表示することしかできませんが、他の 3 つの属性は表示できません。グリッドビューで選択されているときに特定の値を表示しようとした方法以外に、他の方法はありますか?

更新しました

Page_load バインディング

 protected void Page_Load(object sender, EventArgs e)
    {

        if (!IsPostBack)
        {
            LoadGrid();
        }


    }

    private void LoadGrid()
    {
        SqlConnection conn = new SqlConnection();
        conn.ConnectionString = "Data Source = localhost; Initial Catalog = MajorProject; Integrated Security= SSPI";
        conn.Open();

        DataSet ds = new DataSet();

        SqlDataAdapter da = new SqlDataAdapter("SELECT memberreportid, typeofcrime, crdatetime, address, detail, incidentdate, incidenttime, property, victim, suspect, detail, suspectdetail, propertydetail from memberreport", conn);
        da.Fill(ds);

        GWCase.DataSource = ds.Copy();
        GWCase.DataBind();

        conn.Close();

        ddlpid1.Visible = false;
        ddlpid2.Visible = false;
        ddlpid3.Visible = false;
        ddlpid4.Visible = false;
        ddlpid5.Visible = false;
        ddlpid6.Visible = false;
        ddlpid7.Visible = false;
        ddlpid8.Visible = false;
        ddlpid9.Visible = false;
        ddlpid10.Visible = false;
    }

非表示フィールドを読み取ろうとしています

protected void GWCase_PageIndexChanging(object sender, GridViewPageEventArgs e)
    {
        LoadGrid();
        GWCase.PageIndex = e.NewPageIndex;
        GWCase.DataBind();
    }
4

3 に答える 3

0

これは、ラベルにグリッドの値を表示する方法です

protected void  GWCase_RowDataBound(object sender, GridViewRowEventArgs e)
    {

        if (e.Row.DataItem != null)
        {
            Label5.Text  = e.Row.Cells[1].Text;

        }   
    }
于 2019-10-03T15:08:24.517 に答える