雙擊編輯儲存格的值[DataGrid - WebFrom]

來源:互聯網
上載者:User
datagrid|web|儲存格 思路:

在控制項建立時為每個儲存格添加雙擊事件,並標上儲存格的行號與列號。

滑鼠雙擊某個儲存格時,該儲存格的行號與列號做為參數傳回伺服器。

DataGrid重新綁定時修改對象儲存格的值。



已知問題:當儲存格內容帶有單引號(‘)時,內容將會別截斷。但是後來輸入的不會有這種情況。


那位高人知道怎麼解決的話,請一定告訴我。
E-mail:czhenq@163.com



.Aspx檔案中添加

//返回行號、列號

function Dg_dbClick(RowID,ColumnID)

{

window.Form1.action="DbClick.aspx"+"?RowID="+RowID+"&ColumnID="+ColumnID;

window.Form1.submit();

}

//返回修改後的文本

function txtCell_OnChange()

{

window.Form1.ChangeText.value = window.Form1.txtCell.value;

}

//文字框KeyPress事件

function txtCell_onkeypress()

{

//

}



.Cs檔案

private void Page_Load(object sender, System.EventArgs e)

{

// 在此處放置使用者代碼以初始化頁面

if(!Page.IsPostBack)

{

BindData();

}

else

{

//行ID

string RowID = Request["RowID"] as string;

//列ID

string ColumnID = Request["ColumnID"] as string;

//文字框中的資料

string str = Request["ChangeText"] as string;

//有行、列ID時才重新綁定

if(RowID != "" && ColumnID != "" && str == "" )

{

BindData2(int.Parse(RowID),int.Parse(ColumnID));

}

else

{

//更新程式

Label1.Text = str;

}

}

}



//雙擊儲存格後重新繫結控制項

void BindData2(int RowID, int ColumnID)

{

SqlConnection conn = new SqlConnection("Server=.;DataBase=Northwind;uid=sa;pwd=angel");

SqlDataAdapter da = new SqlDataAdapter("select Top 20 CustomerID,CompanyName,ContactName,ContactTitle,Address from Customers",conn);

DataSet ds = new DataSet();

da.Fill(ds,"Customers");

DataTable dt = ds.Tables[0];

DataRow dr = dt.Rows[RowID];

string CellValue = dr[ColumnID].ToString();

//修改儲存格內容

//onblur 失去焦點

//onkeypress

//onchange

//………………

string strText = "<Input Type=Text id='txtCell'

onblur='javascrite:txtCell_onblur()

onkeypress='javascript:txtCell_onkeypress()' )";

}

}

}





相關文章

E-Commerce Solutions

Leverage the same tools powering the Alibaba Ecosystem

Learn more >

Apsara Conference 2019

The Rise of Data Intelligence, September 25th - 27th, Hangzhou, China

Learn more >

Alibaba Cloud Free Trial

Learn and experience the power of Alibaba Cloud with a free trial worth $300-1200 USD

Learn more >

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。