как да обвържете подниз в gridview и

Използвам мрежов изглед, за да покажа моите данни от db таблица. но има колона, наречена „Описание“ с 1000 знака. Не искам да свързвам целия низ в изглед на мрежата. Как да свържа само първите 100 знака в графата за изглед на мрежата???

когато щракна върху бутона за избор, искам да направя изскачащ прозорец с избрани подробности за колоната. В този момент искам да покажа всички знаци от колоната с описание.

Вече създадох изскачащ прозорец и други неща. но все пак не можах да получа първите 100 букви от "описателната колона" и да я свържа в gridview. Как мога да направя това? И как да вкарам целия низ в изскачащ прозорец?

ВСИЧКИ ОТГОВОРИ СА ДОБРЕ ДОШЛИ.. МОЛЯ, ПОМОГНЕТЕ МИ.

БЛАГОДАРЯ ТИ


person User Mora    schedule 27.06.2013    source източник
comment
Как свързвате вашите данни с вашия gridview?   -  person Ben Gulapa    schedule 27.06.2013
comment
grdInquiry.DataBind(); grdInquiry е името на gridview...   -  person User Mora    schedule 27.06.2013
comment
Добре, така че изглежда имате клас или модел на запитване. Моля, вижте и опитайте моя отговор.   -  person Ben Gulapa    schedule 27.06.2013
comment
Можете да преминете през следната връзка stackoverflow.com/questions/ 11088633/ stackoverflow.com/ въпроси/7650791/   -  person शेखर    schedule 27.06.2013


Отговори (2)


Ако имате обект, който свързвате с вашия gridview, можете да направите това:

Първо добавете ново свойство:

[NotMapped]
public string CutDescription
{
    get
    {
        if (Description.Length <= 1000)
        {
            return Description;
        }
        return Description.Substring(0, 1000) + "...";
    }
}

След това можете да свържете това към вашия gridview:

<asp:BoundField DataField="CutDescription" HeaderText="Description" />

Това е само един начин да го направите. Дано помогне.

РЕДАКТИРАНЕ: Друг начин за използване на събитие RowDatabound:

protected void Grid_RowDataBound(object sender, GridViewRowEventArgs e)
{
    var row = e.Row;
    if (row.RowType == DataControlRowType.DataRow)
    {
        // Just change the index of the cell 
        var description = row.Cells[1].Text;
        if (description.Length > 100)
        {
            row.Cells[1].Text = description.Substring(0, 100) + "...";
        }
    }
}
person Ben Gulapa    schedule 27.06.2013
comment
Поставих този код под Protected void Grid_RowDataBound{}, но след това не мога да върна стойност... Как мога да разреша това?? - person User Mora; 27.06.2013

Аз самият харесвам решението

100% работещ и напълно тестван

protected void grdName_RowDataBound(object sender, GridViewRowEventArgs e)
        {
            if (e.Row.RowType == DataControlRowType.DataRow)
            {
                if (e.Row.Cells[8].Text.Length > 100)
                {
                    e.Row.Cells[8].Text = e.Row.Cells[8].Text.Substring(0, 12);
                }


            }
        }
person User Mora    schedule 28.06.2013