基于templatefield gridview asp.net web forms 4.5排序

时间:2018-03-22 21:51:32

标签: c# asp.net gridview

我试图根据模板字段对网格视图进行排序。 我的gridview基本上有一些数据库场,在后端 我调用rowdatabound函数从其他表中获取数据。

有点像这样......

<asp:Gridview runat="server" ID="testGrid" selectMethod="testGrid_GetData"
 AutoGenerateColumns="false" AutoGenerateDeleteButton="true" OnRowDataBound="testGrid_RowDataBound" ItemType="testItem"
 DeleteMethod="testGrid_DeleteItem" AutoGenerateEditButton="true" UpdateMethod="testGrid_UpdateItem" DataKeyNames="idx">
    <Columns>
        <asp:BoundField DataField="Field1" HeaderText="Field1" />
        <asp:BoundField DataField="Field2" HeaderText="Field2" />
        <asp:TemplateField HeaderText="Field3"></asp:TemplateField>
    </Columns>
<asp:GridView>

我从Backend调用GetData,并从rowDataBound调用其他表中的数据, 像这样......

public Iqueryable testGrid_GetData() {
    var testIt = db.testItems.orderbyDescending(r => r.Field1);
    return testIt;
}

protected void testGrid_RowDataBound(object sender, GridViewRowEventArgs e) 
{
    string f1 = e.Row.Cells[1].Text.ToString();
    var item = db.otherItems.Where(it => it.FieldFrom1.Equals(f1)).field3;
    e.Row.Cells[4].Text = field3;

}

这可能过于简单化了我现在正在做的事情,但我认为如果有人可以从这里排序,我可以解决我的问题。

所以我的目标是按Field3排序,我没有使用任何数据表或数据源,所有教程都要求我这样做。

我甚至尝试过使用OnSorting功能,但我不知道从哪里开始。 还担心即使我解雇了Onsorting函数,RowdataBound事件也会覆盖该函数。

如果有人可以帮助我,那将非常感激。

同样,代码比这复杂得多,除此之外的所有其他功能都运行良好,所以如果我能在不改变代码结构的情况下做到这一点会很好。

提前致谢!!

0 个答案:

没有答案