Avatar billede henrik_40 Nybegynder
31. oktober 2007 - 15:09 Der er 2 kommentarer og
1 løsning

Erstatte 0 med ingenting

Hejsa
Hvordan får jeg erstattet en 0-værdi med en tom værdi?

Nedenstående fylder en grid ud med
vendor        account
bla bla        243
la la          0
...            ..
osv.

Nullerne ønskes ersattet med ingenting i gridviewet. Jeg har forsøgt mig med dataView.Rowfilter += "IIF(AccountID>0, AccountID, "")";

Men uden held.
Hvad gør jeg?

Nedenstående er min fillgridview-funktion:

        private void FillDataGridVendors(string filter, string sort, string sortexpression, string sorttype)
        {
            // get data
            Logic.Vendors vendors = new ServicePartner.Logic.Vendors();
            DataSet dataSet = vendors.GetVendors();
            vendors = null;

            // get dataview
            DataView dataView = dataSet.Tables[0].DefaultView;
           
            dataView.RowFilter = "vendorname like '%" + filter + "%'";
            if (DropDownListVisibility.SelectedValue != "2") // All
            {
                dataView.RowFilter += " AND visible = " + DropDownListVisibility.SelectedValue;
            }
           
           

            switch (sortexpression)
            {
                case "VendorName":
                    dataView.Sort = "VendorName " + sorttype;
                    break;
                case "AccountID":
                    dataView.Sort = "AccountID " + sorttype;
                    break;
                default:
                    break;
            }

            // bind dataview to datagrid
            GridVendors.DataSource = dataView;
            GridVendors.DataBind();

            // update label with result status
            FillResultStatus(dataView.Count);

            // clean up
            dataView = null;
        } // end void FillDataGridVendors(string, string, string, string)

Hilsen
Henrik
Avatar billede oskar Nybegynder
31. oktober 2007 - 20:17 #1
Har du prøvet: dataView.Rowfilter += "IIF(AccountID>0, AccountID, Null)";
Avatar billede henrik_40 Nybegynder
01. november 2007 - 01:07 #2
JA, har prøvet flere varianter. Dit forslag gav nednenstående fejlmedd.
Syntaksfejl: Der mangler en operand efter operatoren 'IIf'.
Avatar billede henrik_40 Nybegynder
01. november 2007 - 11:17 #3
Hejsa. Fandt løsningen :-)
Ved bindingen til datagrid:
        protected void GridVendors_RowDataBound1(object sender, GridViewRowEventArgs e)
        {
            if (e.Row.RowType == DataControlRowType.DataRow)
            {
                DataRowView dataRowView = (DataRowView)e.Row.DataItem;
                int vendorID = Convert.ToInt32(dataRowView["VendorID"]);

                if (e.Row.Cells[1].Text == "0")
                    e.Row.Cells[1].Text = string.Empty;

}


Så jeg lukker, men tak for dit forslag ;-)

/henrik
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester