效果示意

核心處理邏輯
for (int i = 0; i <= GridView1.Rows.Count - 1; i++)
{
DataRowView drv;
string addr;
if (GridView1.PageIndex == 0)
{
drv = myds.Tables["飛狐工作室"].DefaultView[i];
addr = Convert.ToString(drv["家庭住址"]);
GridView1.Rows[i].Cells[3].Text = SubStr(addr, 2);
}
else
{
drv = myds.Tables["飛狐工作室"].DefaultView[i + (5 * GridView1.PageIndex)];
addr = Convert.ToString(drv["家庭住址"]);
GridView1.Rows[i].Cells[3].Text = SubStr(addr, 2);
}
}
SubStr 截斷方法
public string SubStr(string sString, int nLeng)
{
if (sString.Length <= nLeng) return sString;
string sNewStr = sString.Substring(0, nLeng);
return sNewStr + "...";
}
改進建議
- 改用 CSS:
td { max-width: 150px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; } 純前端處理,無需後台迴圈。
- 若需後台處理,建議在
RowDataBound 事件中統一處理,避免與分頁邏輯耦合。
- 支援 HTML 編碼與全形字元寬度計算。