以下是我的代码中的问题部分。
DataView view = ds.Tables[0].DefaultView;
view.Sort = "user_id ASC, ip_address DESC;
BalaiStatus.DataSource = view;
BalaiStatus.DataBind();
>>BalaiStatus.DataBind().Sort = "ip_address ASC";<<
BalaiStatus将处理函数BalaiStatus_RowDataBound。此代码用于消除gridview中的同一行。代码是: -
string lastRow = "";
protected void BalaiStatus_RowDataBound(object sender, GridViewRowEventArgs e)
{
if (e.Row.RowType == DataControlRowType.DataRow)
{
var thisRow = e.Row;
if (thisRow.Cells[0].Text == lastRow)
{
e.Row.Visible = false;
}
}
else {
DataRowView view = (DataRowView)e.Row.DataItem;
string login = Convert.ToString(view["ip_address"]);
if (login == "")
{
e.Row.Cells[2].BackColor = Color.Red;
}
else
{
Global.rowCount = Global.rowCount + 1;
e.Row.Cells[2].ForeColor = Color.White;
e.Row.Cells[2].BackColor = Color.Green;
}
Global.allCount = Global.allCount + 1;
}
lastRow = thisRow.Cells[0].Text;
}
所以,我需要的是,在消除相同的行之后,我想再次对gridview中的更新数据进行排序。请参阅&gt;&gt;代码&lt;&lt; ..
任何人都请帮助我解决这个问题。感谢您的意见或建议。感谢Siti。
答案 0 :(得分:0)
在设置gridview的源之前,您应该过滤重复的行。这将允许您在绑定网格之前进行排序。
这将取决于数据集 ds 的来源,您是如何获得此数据的?
不应该使用Rowdatabound来删除/添加到表中的行,这应该对数据集中的表存储执行 ds