Question

I used Dx AspxGridView.And I tried bind some labels from this grid.

I have a row in this grid and there are 12 column.

I want to be like this :

Label1.Tex=Value of Column1

Label2.Tex=Value of Column2

Label3.Tex=Value of Column3

.

.

.

  <dx:ASPxLabel runat="server" ID="Label1" Text=""></dx:ASPxLabel>

  <dx:ASPxLabel runat="server" ID="Label2" Text=""></dx:ASPxLabel>

  <dx:ASPxLabel runat="server" ID="Label3" Text=""></dx:ASPxLabel>
  .

  .  

  .

Label12.Tex=Value of Column12

My codes :

     protected void ASPxGridView1_HtmlRowCreated(object sender, 
     ASPxGridViewTableRowEventArgs e)

     {
        if (e.RowType != DevExpress.Web.ASPxGridView.GridViewRowType.Data) return;

        DevExpress.Web.ASPxEditors.ASPxLabel label = 
        ASPxGridView1.FindRowCellTemplateControl(e.VisibleIndex, null, "Label1") as 
        DevExpress.Web.ASPxEditors.ASPxLabel;

  //for integer value of column
        int Value=(int) e.GetValue("Column1");
        label.Text = string.Format("{0}",Value);

    DevExpress.Web.ASPxEditors.ASPxLabel label2 = 
    ASPxGridView1.FindRowCellTemplateControl(e.VisibleIndex, null, "Label3") as 
    DevExpress.Web.ASPxEditors.ASPxLabel;

        int Value2=(int) e.GetValue("Column2");
        label2.Text = string.Format("{0}",Value2);

   DevExpress.Web.ASPxEditors.ASPxLabel label3 = 
   ASPxGridView1.FindRowCellTemplateControl(e.VisibleIndex, null, "Label3") as 
   DevExpress.Web.ASPxEditors.ASPxLabel;


  //for string value of column
   string Value3=(string) e.GetValue("Column3");
   label.3Text = string.Format("{0}",Value3);

  }

I get this error

 System.NullReferenceException: Object reference not set to an instance of an object.

at line

 label.Text = string.Format("{0}",Value);

.

.

.

Était-ce utile?

La solution

I solved my problem.

  protected void ASPxGridView1_CustomColumnDisplayText(object sender, 
   ASPxGridViewColumnDisplayTextEventArgs e)
    {
        if (e.Column.FieldName == "Column1")
        {
            Label1.Text = e.Value.ToString();
        }

        if (e.Column.FieldName == "Column2")
        {

            Label2.Text = e.Value.ToString();
        }

       . 

       .

       if (e.Column.FieldName == "Column12")
        {

            Label12.Text = e.Value.ToString();
        }

    }
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top